我有十六进制字符串“000302A502B002B202B002B9000302BA02A502A702A902B9”,我需要显示“希伯来语”字符。 如何以Windows格式将其转换为希伯来语。
下面是我尝试过的代码:(通过循环直到字符串存在)
string hexChar = hexEncodedText.Substring(0, 4);
decodedText += (char)Int64.Parse(hexChar, System.Globalization.NumberStyles.HexNumber);
hexEncodedText = hexEncodedText.Substring(limit, hexEncodedText.Length - limit);
但这并没有产生预期的结果:
答案 0 :(得分: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);
我认为输入字符串就是那个。