簡體   English   中英

如何在 u"..." 字符串中產生有意的編碼錯誤?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM