2

我有“000302A502B002B202B002B9000302BA02A502A702A902B9”的十六进制字符串,我需要为其显示“希伯来语”字符。如何以 Windows 形式将其转换为希伯来语。

下面是我尝试过的代码:(通过循环直到字符串存在)

  string hexChar = hexEncodedText.Substring(0, 4);
  decodedText += (char)Int64.Parse(hexChar, System.Globalization.NumberStyles.HexNumber);
  hexEncodedText = hexEncodedText.Substring(limit, hexEncodedText.Length - limit);

但这不会产生我预期的结果:

4

1 回答 1

1

通常这应该可以工作,但是我已经对其进行了测试,结果字符串什么也没有。我想你在 Windows 代码页中的希伯来语是 1255:

string input = "000302A502B002B202B002B9000302BA02A502A702A902B9";
byte[] bytes = new byte[input.Length/2];
for (int i = 0; i < input.Length; i += 2){
    bytes[i / 2] = byte.Parse(input.Substring(i, 2), System.Globalization.NumberStyles.HexNumber); 
}
Encoding encode = Encoding.GetEncoding(1255);
string output = encode.GetString(bytes);

我认为输入字符串就是这样。

于 2013-06-13T09:30:10.463 回答