2017-05-20 16 views
2

場合によっては、割り当てられていないUnicodeポイントが存在することがあります。このポイントには、疑問符(?)が表示されます。これらの値を除外する方法はありますか?割り当てられていないUnicode値を無視する

if(c == ?)整数値が異なるため、当然動作しません。

example ここではまったく割り当てられていないコードポイントをフィルタリングするために割り当てられていない点を

+0

未定義のコードポイントは、テキストの疑問符(またはUnicode置換文字)の一般的な原因ではありません。正しいデコーダを使用していますか?もしそうなら、なぜあなたは未定義文字の非定型の出現をしていますか? – erickson

+0

私はJavaの標準エンコーダ/デコーダを使用しています。私はcharの 'int'値を' char'にキャストしています。私は使用しているフォントが多くの疑問符の原因だと信じています。 –

答えて

2

利用java.lang.Character.isDefined(int)のいくつかを見ることができます。 charを引数とするバージョンでは、U + 10000未満のUnicodeコードポイントしか認識できません。

有効ではあるが表示可能でない文字も除外する場合は、さらにisIdentifierIgnorable(int)をチェックする必要があります。

+0

ほとんどのフォントには、印刷可能なすべてのUnicode文字が含まれているわけではありません。あなたは完全なカバレッジを持っているフォントでテストすることができます。 – Davislor

関連する問題