2

私はバイト配列を持っています。これは InputStreamReader に入れて、それを使っていくつかの操作を行います。

Reader reader = new InputStreamReader(new ByteArrayInputStream(byteArr));

JVMにはデフォルトのcp1252エンコーディングがありますが、バイト配列に変換するファイルにはutf-8エンコーディングがあります。また、このファイルにはドイツ語のウムラウトがあります。そして、バイト配列を InputStreamReader に入れると、Java はウムラウトを間違ったシンボルにデコードします。たとえば、ü は ü と表します。「UTF-8」と Charset.forName("UTF-8").newDecoder()); を入れてみました。InputStreamReader コンストラクターに、 new String(oldStr.getBytes("cp1252"), "UTF-8); を介して、文字列をリーダーから新しいエンコーディングの文字列に変換します。しかし、それは役に立ちません。リーダー変数のデバッガーで、StreamDecoder パラメーターが表示されます。これには、"多分それは私の問題を解決していますが、どうすれば修正できるのかわかりません。

4

2 に答える 2