2016-01-24 38 views
0

我正在實現一個簡單的行/列計數算法,用於計算UTF-16流中的「字形」。像往常一樣,處理錯誤是棘手的部分。解析UTF-16流並從編碼錯誤中恢復

E.g.如何處理一個低代理合併字符下一個新行?

標準建議如何處理這個問題?中止解析?嘗試重新同步?如果是這樣,怎麼樣?

我知道一個可能的答案是「RTFM」,但鑑於標準的龐大規模,該任務有點令人生畏。

回答

1

如果您沒有相應的高代孕項目的代孕人低,那麼你有一個無效的UTF-16序列。該標準沒有強制執行特定的錯誤處理策略,但可以讓您選擇忽略它,中止解析或用U+FFFD(替換字符)替換它 - 無論您的應用程序是否有意義(請參見Section 2.7的最後一段)。如果你忽略它,流浪的代理將被rules GB4 and GB5捕獲。

雜散組合標記是完全有效的,不需要任何特殊處理。他們將被rule GB9捕獲。