2011年02月05日

エンコーディングによる微妙な違い

受け取るデータの文字エンコーディングが、Shift_JISと聞いていたので、
文字列のバイト数チェックをShift_JISでやっていたのですが、思ったよう
に動かず、もしかしてと思って確認するとMS932でした。。。

ちょっと、うっかりしてました。
原因はこれ、"−"は変換では「[全]マイナス」という表記で表示されているもの。

String str = "−";
System.out.println("SJISの場合は[" + str.getBytes("Shift_JIS").length + "]");
System.out.println("MS932の場合は[" + str.getBytes("MS932").length + "]");


SJISの場合は[1]
MS932の場合は[2]

全角文字のバイト数で違いがあるのですね。
posted by 台北猫々 at 23:58| Comment(0) | TrackBack(0) | 技術メモ(Java)
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/43260926

この記事へのトラックバック