コード例 #1
0
        private void Decode(byte language, byte[] data, FruByteStringType encoding)
        {
            switch (encoding)
            {
            case FruByteStringType.Binary:
                this.Text = IpmiSharedFunc.ByteArrayToHexString(data);
                break;

            case FruByteStringType.BcdPlus:
                this.Text = IpmiSharedFunc.DecodeBcdPlus(data);
                break;

            case FruByteStringType.Packed6BitAscii:
                data      = ReplaceNonAsciiChars(data);
                this.Text = IpmiSharedFunc.DecodePacked6bitAscii(data);
                break;

            case FruByteStringType.Text:
                // replace non ASCII characters
                data = ReplaceNonAsciiChars(data);
                if ((this.Language == FruByteString.defaultLang) ||
                    (this.Language == FruByteString.EnLang))
                {
                    this.Text = System.Text.Encoding.ASCII.GetString(data).Trim();
                }
                else
                {
                    this.Text = System.Text.Encoding.Unicode.GetString(data).Trim();
                }
                break;
            }
        }