C 11 字符串文字中的 Unicode 编码
C 11 引入了新的字符类型和字符串文字以促进 Unicode 编码。本文探讨了这些新功能的用法和语义,解决了以下问题:
字符引用和字符串类型
是“x/” u/U" 字符引用可与所有字符串组合类型?
答案:不可以。“x”可以在所有字符串中使用,而“u”和“U”仅限于 UTF 编码的字符串。
固定宽度字符串
字符串类型是固定宽度的,还是“x/u/U”引用会扩展字节数?
答案: 虽然字符串中的代码单元数量取决于编码,但数组中的元素数量仍然不变已修复。
“u”和“u8”字符串的 UTF 编码语义
执行“u” "" 和 "u8"" 字符串具有编码语义,允许对非 BMP 代码进行编码点?
答案: 是的,“u”创建 UTF-16 编码字符串,而“u8”创建 UTF-8 编码字符串。非 BMP 代码点将进行相应编码。
使用带有“u”的独立代理
可以单独使用代理可以写成“u”?
答案: 不,规范禁止使用 UTF-16 代理项对 (0xD800-0xDFFF) 作为“u”或“U”的代码点。
在字符串中编码意识函数
字符串函数是否支持编码?
答案:不,标准字符串函数不支持编码并考虑 Unicode 字符串作为代码单元序列,而不是代码点。它们无法检测无效的字节序列。
结论
对 C 11 字符串文字中 Unicode 编码的探索提供了新字符的全面概述类型、字符串文字及其编码语义。它阐明了它们的用法和限制,使开发人员能够有效利用 C 11 中的 Unicode 支持。
以上是C 11 字符串文字如何处理 Unicode 编码?的详细内容。更多信息请关注PHP中文网其他相关文章!