解码 UTF-8(第八篇):带校验的解码器
这是“Decoding UTF-8”系列的第八篇,讨论如何在解码同时做校验(validating decoder)。作者指出:若字符串会被多次解码或后续步骤假设合法 UTF-8,可先校验再解码;但若只解码一次,更好的做法是在解码流程中直接内嵌校验。 文内给出 utfcpp 库的 C++ 实现思路:按首字节判断序列长度(1–4 字节),分别调用 get_sequence_1~4 累加码点值;任何一步失败则回滚迭代器、清空码点并返回错误。 核心增量是把“校验”和“解码”合并为一次遍历,避免两趟逻辑。属于工程向系列文,适合深入 UTF-8 实现或阅读 utfcpp 源码的读者,但单篇信息密度一般、讨论入口偏窄,互动强度有限。
