2

「000302A502B002B202B002B9000302BA02A502A702A902B9」という 16 進数の文字列があり、「ヘブライ語」の文字を表示する必要があります。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 に答える