私は、"ñ"という文字を含む文字列を持っていますが、これにはいくつかの問題があります。この文字列をUTF-8エンコーディングにする必要があります。この方法で試してみましたが、うまくいきませんでした。
byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");
どうすればその文字列をutf-8にエンコードできますか?
を使ってみてはいかがでしょうか。
ByteBuffer byteBuffer = StandardCharsets.UTF_8.encode(myString)
JavaのString
オブジェクトは,変更できないUTF-16エンコーディングを使用しています。
異なるエンコーディングを持つことができるのは,byte[]
だけです。つまり,UTF-8のデータが必要であれば,byte[]
が必要になります。文字列に予期しないデータが含まれている場合、問題は以前のどこかでバイナリデータを誤って
文字列`に変換したことにあります(つまり、誤ったエンコーディングを使用していたことになります)。