首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JVM修改的UTF-8中v的格式

JVM修改的UTF-8中v的格式
EN

Stack Overflow用户
提问于 2017-01-10 01:21:41
回答 1查看 96关注 0票数 0

在JVM规范中,在改进的UTF-8的描述中,它说明了“两次三字节格式”的v格式:

这意味着补充字符由6个字节表示,u,v,w,x,y和z。 表4.14.五: 1010 (第20至16条)-1

因为v是8位,这意味着(bits 20-16)-1必须是4位。-1如何将bits 20-26从5位缩小到4位?

(补充质询:是否有理由说“两倍三字节”而不是“六字节”?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-11 01:07:15

Unicode码点U+0000U+10FFFF不等。

大于U+FFFF的值称为补充代码点。它们的二进制表示形式是uuuuuxxxxxxxxxxxxxxxx (21位),其中uuuuu位于0000110000之间。

在UTF-16中,补充码点由代理对编码,如3.9Unicode编码表单,D91所述。也就是说,uuuuuxxxxxxxxxxxxxxxx由两个16位字符表示:

110110wwwwxxxxxx 110111xxxxxxxxxx,在那里wwww = uuuuu - 1

因此,00001 ≤ uuuuu ≤ 100000000 ≤ wwww ≤ 1111

现在,修改后的UTF-8编码补充代码点,就好像它们是两个字符:高代理项和低代理项.这些代理字符中的每一个都以UTF-8中的3个字节表示.因此“二乘三”的数字。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41559727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档