Java プログラムで文字に 'o͝' (表音文字) を割り当てようとしていますが、「無効な文字定数です」というエラーが表示されます。私のファイルは UTF-8 を使用しており、他の表音文字は正常に機能しますが、これは機能しません。この文字は、実際には 2 つの文字 (「o」と合字など) のように見えますが、部品を形成しているため、それを壊すことはできません。
コード例:
Character test = 'o͝';
どんな助けでも大歓迎です。
Java プログラムで文字に 'o͝' (表音文字) を割り当てようとしていますが、「無効な文字定数です」というエラーが表示されます。私のファイルは UTF-8 を使用しており、他の表音文字は正常に機能しますが、これは機能しません。この文字は、実際には 2 つの文字 (「o」と合字など) のように見えますが、部品を形成しているため、それを壊すことはできません。
コード例:
Character test = 'o͝';
どんな助けでも大歓迎です。
このグリフは「小文字 o と2 つのブレーブを組み合わせたもの」と呼ばれ、ソースでは次のように記述できます。
String a = "\u006f\u035d";
これは結合文字 (つまり2 つの文字) であるため、結果の値を単一の Java char に割り当てることはできません。文字列を使用する必要があります。
文字テーブルで文字の番号を調べて、それを変数に割り当てることができます。次のようになります。
char a = '\u0040';
すでに述べたように、そのような文字をハードコードするべきではありません。次の Unicode ポイント値を使用する必要があります。
あなたが望むのは、実際には「組み合わせ文字」です。
http://en.wikipedia.org/wiki/Combining_character
結合する分音記号は 0x0300 ~ 0x036f です。したがって、たとえば、必要な文字を作成するには ('o' にブレーブが 2 つ付いている)、次のようにします。
String o_doubleBreve = "o\u035d";
o͝ として印刷