0

GB3212 でエンコードされた 2 つの中国語 "果然有问题" があります。ただし、ANSI に誤ってエンコードされ、「彆衄恀枙」になります。16 進エディタでは、B9FBC8BBD3D0CECACCE2 です。

Javaを使用して文字セットを修正し、UTF-16に保存したいと思います。

だから、私はしようとします:

            String wrongstr = "彆衄恀枙";
            byte[] binary = wrongstr.getBytes("BIG5");
            System.out.printf("%s", new String(binary, "GB2312"));

しかし、私が得たものは: 果?有问题</p>

Notepad++ を使用したところ、正しい単語が表示されました。getBytes("BIG5") または getBytes("US_ANSI") または r.getBytes("GB2312") を使用して正しい 16 進数を取得できません (B9FBC8BBD3D0CECACCE2)

ここに画像の説明を入力

何が悪いのかわからない。助けてください、事前に感謝します。

4

1 に答える 1

0

それは ANSI ではなかったと思います。中国語の文字はありません。ただし、Big5 は次のことを行います。

String wrongstr = "湖馱";
byte[] binary = wrongstr.getBytes("Big5");
System.out.printf("%s", new String(binary, "GB2312"));

したがって、このコード スニペットは、必要な結果を提供します。

于 2013-08-24T17:46:32.537 に答える