0

私のプログラムでは、入力として取得したバイト ストリームを文字列に変換します。ただし、バイトストリームに ë を含む単語が含まれている場合、この文字は % に変換されます。これを修正するにはどうすればよいですか?

どうも

4

1 に答える 1

0

これらの文字をエンコードするには、

String オブジェクトを に変換しUTF-8、メソッドを呼び出してgetBytes、適切なエンコーディング識別子をパラメータとして指定します。getBytes メソッドは、バイト配列を UTF-8 形式で返します。非 Unicode バイトの配列から String オブジェクトを作成するには、encoding パラメータを指定して String コンストラクタを呼び出します。これを参照して、

try {
    byte[] utf8Bytes = original.getBytes("UTF8");
    byte[] defaultBytes = original.getBytes();

    String roundTrip = new String(utf8Bytes, "UTF8");
    System.out.println("roundTrip = " + roundTrip);
    System.out.println();
    printBytes(utf8Bytes, "utf8Bytes");
    System.out.println();
    printBytes(defaultBytes, "defaultBytes");
} 
catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}
于 2012-08-28T07:27:00.247 に答える