Sen*_*ran 69 unicode codepoint
为什么Unicode代码点显示为?U+<codepoint>
例如,U+2202表示字符∂.
为什么不U-(破折号或连字符)或其他什么?
Juk*_*ela 122
字符"U +"是MULTISET UNION"⊎"U + 228E字符的ASCIIfied版本(U型联合符号,里面有加号),用于将Unicode表示为字符集的并集.请参阅Unicode邮件列表中的Kenneth Whistler的解释.
Jim*_*unt 14
Unicode标准需要一些符号来讨论代码点和字符名称.它采用了"U +"的惯例,后面跟着四个或更多的十六进制数字,至少可以追溯到1996年发布的Unicode标准 2.0.0版(来源:Unicode Consortium网站上的存档PDF副本).
"U +"表示法很有用.它提供了一种将十六进制数字标记为Unicode代码点的方法,而不是八位字节,或不受限制的16位数量,或其他编码中的字符.它在运行文本时效果很好."U"表示"Unicode".
我个人对1990年代早期关于Unicode的软件行业讨论的回忆是,在Unicode 1.0和Unicode 2.0时代,"U +"后跟四个十六进制数字的惯例很常见.当时,Unicode被视为一个16位系统.随着Unicode 3.0的出现以及U + 010000及以上代码点处的字符编码,使用了"U-"后跟六个十六进制数字的约定,特别是突出显示数字中的额外两位数.(或者也许是相反,从"U-"转变为"U +".)根据我的经验,"U +"惯例现在比"U-"惯例更常见,很少有人使用"U +"和"U-"之间的差异表示位数.
但是,我无法找到从"U +"到"U-"的转变的文档.来自1990年代的存档邮件列表信息应该有它的证据,但我不能方便地指出任何.的Unicode标准2.0声明,"Unicode字符码具有16个比特的均匀的宽度." (第2-3页).它规定了"单个Unicode值表示为U + nnnn,其中nnnn是十六进制表示法的四位数"(第1-5页).分配了代理值,但在U + FFFF之上没有定义字符代码,也没有提到UTF-16或UTF-32.它使用四位数的"U +".2000年发布的Unicode标准3.0.0定义了UTF-16(p.46-47)并讨论了U + 010000及以上的代码点.它在某些地方使用了四位数的"U +",在其他地方使用了六位数.我发现的最坚固的跟踪是在Unicode标准版本6.0.0中,其中BNF语法表示法表定义符号U+HHHH和U-HHHHHHHH(第559页).
"U +"表示法不是表示Unicode代码点或代码单元的唯一约定.例如,Python语言定义了以下字符串文字:
u'xyz' 表示Unicode字符串,Unicode字符序列'\uxxxx' 指示具有由四个十六进制数字表示的unicode字符的字符串'\Uxxxxxxxx' 指示具有由八个十六进制数字表示的unicode字符的字符串这取决于您所谈论的Unicode标准的版本.来自维基百科:
旧版本的标准使用了类似的符号,但规则略有不同.例如,Unicode 3.0使用"U-"后跟8位数字,并且允许"U +"仅使用恰好四位数来表示代码单元,而不是代码点.
| 归档时间: |
|
| 查看次数: |
14490 次 |
| 最近记录: |