Nic*_*col 4 java character-encoding
我试图在我的Java代码中使用一些时髦的字符.
Character c = new Character('');
Run Code Online (Sandbox Code Playgroud)
(如果您的Web浏览器不显示字符,它的"1F000麻将牌东风",是取自这里.
Java抱怨'无效字符常量'.是什么赋予了?我认为Java的Character支持Unicode.
另外,有没有办法通过Unicode值初始化Character?有点像new Character('0x01F000')?
非BMP(基本多语言平面)字符不能表示为Java char(或因此a Character),因为a char只是一个16位无符号整数.在Java中使用代理对表示非BMP字符.
你需要使用一个字符串...但即便如此,我怀疑你需要明确地提供代理字符对.C#有一个\U转义序列,相当于\u但对于32位值,但Java没有这样的东西:(
这是一种替代方法,它允许您直接在代码中使用Unicode值:
String x = new String(new int[] { 0x1f000 }, 0, 1);
Run Code Online (Sandbox Code Playgroud)
这很难看,但它有效......
| 归档时间: |
|
| 查看次数: |
1639 次 |
| 最近记录: |