補助文字

U+00000以降の文字。
IMEパッドを利用すると入力可能。
ただまぁ大体フォント入っていないので”□”の様に表示されていると思うけど。


Javaで表現するには
codePointを利用。
int codePoint = 0x00010400;
String.format("%c", codePoint);
とか
new StringBuilder().appendCodePoint(codePoint);
とか。

困ったことに、String#length()とかだと、二文字で表される。
文字数分だけループといった場合、

for(int i = 0; i < src.length();) {
	int codePoint = src.codePointAt(i);
	//処理
	i += Character.charCount(charCount);
}

見たいにする必要がある(場合がある)
たとえば、文字数を合わせるために、文字化けしたら
?を?に置き換えたりするような場合。で元々?のものは後で戻したいとかいった場合。
文字化け前は、補助文字は2文字なんだけど、
化けた後は1文字なので、位置情報がずれたりする。


かなりレアケースだけどね。(大概は文字コード統一するよね・・・)
文字数Validationとかでも2文字扱いになるのかね??


つーか入力できる文字については最初から制限しようよ・・・・
orz