首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个16位字符编码到32位UChar

多个16位字符编码到32位UChar
EN

Stack Overflow用户
提问于 2022-01-25 14:09:03
回答 1查看 165关注 0票数 1

我在这里读过几个答案,描述了如何将单个16位十六进制值转换为Unicode字符(在ICU中的UChar)。我不清楚的是如何将多个代码(2+十六进制字符串)转换为3位Unicode字符。比如我该怎么代表..。

U+1F6A3 U+200D U+2642 U+FE0F‍♂️

作为一个32位的Unicode字符。当输入是字符串"U+1F6A3“"U+200D”"U+2642“"U+FE0F”时(不是16位值,而是文字字符串)。

EN

回答 1

Stack Overflow用户

发布于 2022-01-25 14:14:45

没有所谓的“32位Unicode字符”

Unicode是一个21位的字符集,而UTF-32只是一个编码点由一个代码单元编码的编码。但是UTF-32是,而不是,它是一种固定长度的编码.许多字符不能被一个UTF-32代码单元编码,就像你上面发布的那些。U+1F6A3 U+200D U+2642 U+FE0F被简单地编码为16字节的0x1F6A3 0x200D 0x2642 0xFE0F (句号)。你做不到32位。还请注意,U+1F6A3不是16位,因为Unicode是前面提到的21位,并且必须由UTF-16中的两个代码单元编码。

欲了解更多信息,请阅读Isn't a 2-byte char datatype insufficient to deal with the concept of "characters" in a Unicode string?

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

https://stackoverflow.com/questions/70850083

复制
相关文章

相似问题

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