gpt4 book ai didi

java - java中如何从另一个字符中获取一个字符

转载 作者:行者123 更新时间:2023-12-01 07:06:02 25 4
gpt4 key购买 nike

假设A的unicode是\u9876。我想得到A.之后的7个字符,即H。有没有办法得到 do (A's unicode ) + 7 然后将其转换为 char。

最佳答案

这篇文章不是答案,而是一篇“困惑清理”文章。

首先,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() 将返回一个“字符对”;返回数组的第一个元素将是前导代理,第二个元素将是Trail 代理;Java API 仍然使用旧的 Unicode 术语,并分别将它们称为“高”和“低”代理。有关更多详细信息,请参阅 Wikipedia article on UTF-16 ,它很好地解释了什么是什么)

关于java - java中如何从另一个字符中获取一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23863660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com