相关疑难解决方法(0)

实际使用中最常见的非BMP Unicode字符是什么?

根据您的经验,到目前为止,哪些Unicode字符,代码点,BMP(基本多语言平面)之外的范围是最常见的?这些是需要UTF-8中的4个字节或UTF-16中的代理项.

我希望答案是在名称中使用的中文和日文字符,但不包括在最广泛的CJK多字节字符集中,但在我最常用的项目上,英文维基词典,我们发现哥特字母是到目前为止更为常见.

UPDATE

我写了几个软件工具来扫描整个维基百科上的非BMP字符,我惊讶地发现,即使在日语维基百科中,哥特字母也是最常见的.在中文维基百科中也是如此,但它也有许多中文字符被使用多达50或70次,包括"",""和"".

unicode codepoint cjk surrogate-pairs astral-plane

101
推荐指数
3
解决办法
2万
查看次数

如何遍历Java String的unicode代码点?

所以我知道String#codePointAt(int),但它是由char偏移索引,而不是由代码点偏移索引.

我正在考虑尝试这样的事情:

但我担心的是

  • 我不确定自然处于高代理范围内的代码点是否会存储为两个char值或一个值
  • 这似乎是迭代字符的一种非常昂贵的方式
  • 有人必须想出更好的东西.

java string unicode

99
推荐指数
4
解决办法
3万
查看次数

使用charAt方法进行字符串反转时可能出现的问题

我在这里看到一条评论说所有解决方案charAt都是错误的.我无法完全理解并charAt在互联网上找到一些东西.当我查看源代码时,它只返回char数组中的一个元素.所以我的问题是,如果有任何问题或使用问题charAt

评论就是这样

严格来说,所有基于charAt的解决方案都是错误的,因为charAt不会给你"字符",而是"代码单位",而且代码单元不是需要多个代码单元的字符和字符.

java string charat

15
推荐指数
6
解决办法
1362
查看次数

如果'ℤ'在BMP中,为什么不用2字节编码?

我的问题来自于这个答案,其中说:

由于'ℤ'(0x2124)在基本多语言平面中,因此它由单个代码单元表示.

如果这是正确的,那为什么是"?".getBytes(StandardCharsets.UTF_8).length == 3"?".getBytes(StandardCharsets.UTF_16).length == 4

java unicode

2
推荐指数
1
解决办法
125
查看次数

标签 统计

java ×3

unicode ×3

string ×2

astral-plane ×1

charat ×1

cjk ×1

codepoint ×1

surrogate-pairs ×1