JIS Shift_JIS

JIS漢字コードの変換ロジックを書いていて、配列範囲外例外がスローされたので調べていたのだが、

byte[] jisBytes = new String("あ").getBytes("JIS") ;

と、JISエンコードで漢字一文字をbyte[]に変換すると

[0x1B,0x24,0x42,0x21,0x22,0x1B,0x28,0x42]

と、たった一文字でも8バイトにもなるんだよね。SHIFT-INとSHIFT-OUTが入るのをすっかり忘れていた。今は一部を除いては、エスケープシーケンス無しの漢字コードが当たり前の世界なのだなぁ、と今更ながらの感想。