[英]How to produce intentional encoding errors in u"..." strings?
我正在编写一个 UTF-16 解码例程。 为了检查它是否正常工作,我需要生成带有故意编码错误的测试字符串。 但是,当我尝试以明显的方式在 C 中生成此类字符串时,编译器会拒绝我的代码,并显示“...不是有效的通用字符:”
u"\d800" /* unmatched low surrogate */
u"\dc01\d802" /* surrogates in wrong order */
如何生成带有故意编码错误的u"..."
字符串?
\uXXXX
和\UXXXXXXXX
转义序列只能编码有效的通用字符。 要编码其他char16_t
值,请使用\x...
转义序列:
u"\xd800" /* unmatched low surrogate */
u"\xdc01\xd802" /* surrogates in wrong order */
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.