[英]Invalid character constant in a UTF-8 character
我试图在Java程序中将'o͝'(语音字符)分配给Character,但是出现错误“ Invalid character constant”。 我的文件使用的是UTF-8,其他语音字符也可以正常工作,但不是这个。 看起来这个字符实际上是两个(“ o”和一个连字或类似的东西),但我不能破坏它正在形成的部分。
代码示例:
Character test = 'o͝';
任何帮助,将不胜感激。
该字形被称为“ 结合了双短号的小写字母o”,从源头上可以写为:
String a = "\u006f\u035d";
由于它是一个组合字符(即, 两个字符 ),因此无法将结果值分配给单个Java字符,因此需要使用String。
您可以尝试在字符表上查找字符号,并将其分配给变量,例如:
char a = '\u0040';
如前所述,您不应该对这样的字符进行硬编码,而应该使用在此处找到的unicode点值:
您想要的实际上涉及一个“组合字符”:
http://en.wikipedia.org/wiki/Combining_character
组合的变音标记为0x0300-0x036f。 因此,例如,要创建所需的字符(双斜线“ o”),请使用:
String o_doubleBreve = "o\u035d";
打印为o͝
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.