gpt4 book ai didi

java - 什么是 Java 中的代理项范围和代理项代码?

转载 作者:行者123 更新时间:2023-11-30 08:35:13 26 4
gpt4 key购买 nike

我正在阅读类 Character 的文档。该文档提到了一些关于替代范围 的内容。代理代码是什么?isSurrogate()isSurrogatePair()isLowSurrogate()isHighSurrogate() 等代理方法有什么用>.

最佳答案

代理对是在 UTF-16 中使用的一对 16 位值,用于对 BMP/平面 0 之外的 Unicode 代码点进行编码;即任何大于 65535 的 Unicode 代码点。

代理范围是一对中的两个值所来自的16位值的范围;

  • 代理对的高值来自 D800 到 DBFF 的范围
  • 代理对的低值来自 DC00 到 DFFF 的范围。

例如:Unicode 代码点 U+10437 在 UTF-16 中表示为代理项对 D801 DC37。

有关更多信息,请阅读关于 UTF-16 的维基百科文章.


What is a surrogate range and surrogate code in Java?

上面描述了两个替代范围。

代理代码是两个代理范围之一中的代码1


What is the use of surrogate methods like isSurrogate(), isSurrogatePair(), isLowSurrogate(), isHighSurrogate().

  • isSurrogate() 测试 char 是低代理还是高代理
  • isSurrogatePair() 测试一对 char 值是否是有效的代理对
  • isLowSurrogate() 测试 char 是否为低代理值
  • isHighSurrogate() 测试 char 是否为高代理值

这些方法的使用是不言而喻的。在将 UTF-16 代码单元解释为 Unicode 代码点时,它们用于测试 char 值。


1 - 这可以是代码单元或代码点,具体取决于上下文。如果您有一个构成 UTF-16 字符串的 16 位代码单元序列,那么这些就是代码单元。另一方面,如果您有一系列 Unicode 代码点,那么如果您在该序列中遇到高位和低位代理项,它们就是代码点。但是,代理代码点在该上下文中作为文本没有意义。

关于java - 什么是 Java 中的代理项范围和代理项代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38373806/

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