谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

XPでVista文字対応 追記

XPの人でも、「𠀋」をJavaのソース上にコピペして保存すれば
文字は見えないものの、処理を実行することができます。
(ただし、ファイルのエンコードUTF-8などを指定すること)


たとえば、

public static void main(String[] args)
{
	String str = "あ𠀋あ";
	System.out.println(str.length());
}

とかやると「4」と出力されます。
文字数だけなら「3」のはずですが、
サロゲートペアは2文字扱いなので、4になります。


あと、Java5.0以降なら

public static void main(String args)
{
	String str = "あ𠀋あ";
	char chars = str.toCharArray();
	for (char chr : chars)
	{
		System.out.println(Integer.toHexString(chr) + "\t"
				+ Character.isHighSurrogate(chr) + "\t"
				+ Character.isLowSurrogate(chr));
	}
}

とかやると、

3042	false	false
d840	true	false
dc0b	false	true
3042	false	false

こんな出力結果が得られます。