如何从java中的另一个角色获取角色

Rpa*_*ant 0 java

假设A的unicode是\ u9876.我希望在A之后得到7个字符,即H.有某种方法可以做到(A的unicode)+ 7然后将其转换为char.

fge*_*fge 7

这篇文章不是一个答案,而是一个"混乱清理"的帖子.

首先,Unicode代码点的范围从U + 0000到U + 10FFFF; 在所有这些范围内,一些代码点实际上是无效的.

Java char本质上是一个UTF-16代码单元.对于基本多语言平面之外的Unicode代码点,即U + FFFF以上,需要两个字符来编码一个代码点; 看Character.toChars().对于BMP内部的代码点,Unicode和char.之间存在一对一的映射.

除此之外,尽管它具有特殊的作用,但它char是一种数字类型; 它也是Java中唯一的无符号数字类型.您可以对其使用算术运算,对于BMP内的代码点,将7添加到char'\ u9876'将给出代码点'\ u9883'.

但鉴于上述情况,这是一个危险的行动......

(fwiw,在BMP之上,Character.toChars()将返回一对"char";返回数组的第一个元素将是一个主要代理,第二个元素将是一个跟踪代理; Java API仍然使用旧的Unicode术语并调用它们分别是"高"和"低"代理.有关详细信息,请参阅维基百科关于UTF-16的文章,该文章在解释什么是什么方面表现相当不错.