補助文字
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