2016-01-24 60 views
0

我正在实现一个简单的行/列计数算法,用于计算UTF-16流中的“字形”。像往常一样,处理错误是棘手的部分。解析UTF-16流并从编码错误中恢复

E.g.如何处理一个低代理合并字符下一个新行?

标准建议如何处理这个问题?中止解析?尝试重新同步?如果是这样,怎么样?

我知道一个可能的答案是“RTFM”,但鉴于标准的庞大规模,该任务有点令人生畏。

回答

1

如果您没有相应的高代孕项目的代孕人低,那么你有一个无效的UTF-16序列。该标准没有强制执行特定的错误处理策略,但可以让您选择忽略它,中止解析或用U+FFFD(替换字符)替换它 - 无论您的应用程序是否有意义(请参见Section 2.7的最后一段)。如果你忽略它,流浪的代理将被rules GB4 and GB5捕获。

杂散组合标记是完全有效的,不需要任何特殊处理。他们将被rule GB9捕获。