我有一个宽字符字符串L"hao123--我的上网主页",需要编码为"hao123--\u6211\u7684\u4E0A\u7F51\u4E3B\u9875"。有人告诉我这种编码形式是用于编码Unicode UTF-16代码点的特殊"%uNNNN"格式。在这个网站上,它告诉我这是JavaScript转义字符。但我不知道如何在C++中进行编码。
是否有任何库可供使用?或者给我一些提示。
感谢我的朋友们!
是否有任何库可供使用?或者给我一些提示。
感谢我的朋友们!
对于由UTF-16编码字符串表示的每个代码点: 如果代码点在范围[0,0x7F]内: 发出强制转换为char的代码点 否则: 发出由代表codepoint的十六进制数字后跟"\u"组成的内容要获得代码点,有一个非常简单的规则……UTF-16字符串中的每个元素都是一个代码点,除非它是“代理对”的一部分,在这种情况下,它和其后面的元素构成一个单独的代码点。如果是这样,则Unicode标准定义了一种将“前导代理”和“尾随代理”组合成单个代码点的过程。请注意,UTF-8和UTF-16都是可变长度编码……如果未使用可变长度表示,则代码点需要32位。 Unicode转换格式(UTF)FAQ 解释了编码以及如何识别代理对以及如何将它们组合成代码点。
\x
代替 \u
。