エンコード後バイト列の長さ

java.nio.charset.CharsetEncoderでエンコードしたときのエンコード後の長さをエンコード前に調べるには averageBytesPerChar() / maxBytesPerChar() に入力文字数をかけて見積もる。今回EUC-JPにエンコードしたく、それぞれ出力値を調べてみる。

 CharsetEncoder encoder = Charset.forName("EUC-JP").newEncoder();
 System.out.println(encoder.averageBytesPerChar());
 System.out.println(encoder.maxBytesPerChar());

結果

3.0
3.0

平均も最大も一緒とは。文字コードの世界は深すぎて何もいえないけど。