我想将十六进制二进制转换为UTF-16
就像这个网站上的转换器一样 http://sms.24cro.com/op_1_4_en.htm
注意:我不是从文件中读取二进制文件,它是以查询字符串形式出现在我的网站上
示例输入:
06270646062700200627062d06280640064006400640064006400640064006400640064006400640064006400643
答案 0 :(得分:1)
这里有几个步骤:
byte[]
byte[]
转换为字符串其中第二项是微不足道的,例如:
byte[] blob = ...
string s = Encoding.Unicode.GetString(blob);
那么第一个怎么样?每对都是一个字节,所以:
byte[] blob = new byte[input.Length / 2];
对于每一对,我们需要转换一个字节:
for(int i = 0; i < blob.Length ; i++) {
string pair = input.Substring(2 * i, 2);
blob[i] = Convert.ToByte(pair, 16); // from hex to byte
}
所以把它们放在一起:
byte[] blob = new byte[input.Length / 2];
for(int i = 0; i < blob.Length ; i++) {
string pair = input.Substring(2 * i, 2);
blob[i] = Convert.ToByte(pair, 16); // from hex to byte
}
string s = Encoding.Unicode.GetString(blob);
答案 1 :(得分:-1)
请找到将十六进制转换为阿拉伯语的代码。
byte[] blob = new byte[text1.Text.Length / 2];
for (int i = 0; i < blob.Length; i++)
{
string pair = text1.Text.Substring(2 * i, 2);
blob[i] = Convert.ToByte(pair,16); // from hex to byte
}
string s;//
s = Encoding.BigEndianUnicode.GetString(blob);
Label3.Text = s;