私はJava文字列とそれのバイト表現について疑問に思っています。UTF-16リトルエンディアンでエンコードされたファイルがあります。16進エディターで表示すると、次のように表示されます。
ff fe 61 00 f3 00 61 00 00
今、私がそれを使用してJavaにロードするとき
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName),"UTF-16"));
StringBuilder builder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null)
builder.append(line);
System.out.println(Arrays.toString(builder.toString().getBytes()));
私は出力で見ることができます
[97, -13, 97]
バイトを印刷している場合、16進エディタで表示できるゼロのバイトが表示されないのはなぜですか?