0

嗨,伙计们,我想从 ascii 代码转换为普通代码,因为我做了一个从普通代码转换为 ascii 代码的方法,我想将其反转,这是我转换为 ascii 的方法

public string CreatSerial()
    {
        string serial = "";
        string P1, P2 = "";
        string Befor_Serial = GetDeviceSerial().Trim() + 5;
        P1 = Befor_Serial.Substring(0, Befor_Serial.Length / 2);
        P2 = Befor_Serial.Substring(Befor_Serial.Length / 2);
        Befor_Serial = P2 + "ICS" + P1;
        char[] strarr = Befor_Serial.ToCharArray();
        Array.Reverse(strarr);
        serial = new string(strarr);
        byte[] asciiBytes = Encoding.ASCII.GetBytes(serial);
        serial = "";
        foreach (byte b in asciiBytes)
        {
            serial += b.ToString();
        }
        return serial;
    }
4

1 回答 1

0

您正在创建的字符串是不可逆的。从MSDN看这个例子

byte[] bytes = {0, 1, 14, 168, 255};
foreach (byte byteValue in bytes)
   Console.WriteLine(byteValue.ToString());
// The example displays the following output to the console if the current
// culture is en-US:
//       0
//       1
//       14
//       168
//       255

如果你把这些数字放在一起,你会得到0114168255。您无法从中获取字节。你能做的就是Byte.ToString("x")改用。它将产生底层字节值的十六进制表示。它总是长度为 2。

于 2013-02-23T16:26:43.220 回答