2013-06-13 92 views
1

我有十六进制字符串“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

这个字符串是什么意思?这是一些Base64编码?我可以阅读希伯来文,它看起来不像希伯来语:) –

+0

@IlyaKogan:它是编码的东西....但我不确定使用什么编码.. –

+0

预期的结果是什么? (你有':'但是没有任何东西,是从文章中缺少的东西?) – Oren

回答

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); 

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