原文、字节、候选结果的验证关系,强调可逆不等于确认来源
阅读口径

本文保留原字符串;操作在副本上进行,候选结果需由来源证据核对。

认出替换字符

U+FFFD 常显示为黑色菱形问号或 �,可在解码失败时替代无法解释的输入。普通问号 U+003F 也可能是转换时的替代结果,但问号本身同样可以是原文。

规范参考:Python:编解码与错误处理。操作场景与排查建议为本站说明。

显示失败不等于数据丢失

先复制字符并查看码点。若码点仍正确,只是字体无字形,原数据可能完好;若原字节已被替代符覆盖,多种不同输入可能都映射到同一个符号,无法靠这个符号唯一推回。

寻找更早的副本

检查原始附件、导出前数据库快照或来源方的发送记录。若只有带替换符的版本,把无法恢复的区间标为未知,不根据上下文自动补写成所谓原文。

可执行检查单

  1. 01用码点确认是 U+FFFD、U+003F 还是缺字框。
  2. 02在副本上启用严格解码,让失败位置可见。
  3. 03回找未经过替换的上游版本。

一个常见问题

删除 � 能算修复吗?

删除只能让文本看起来整齐,会进一步丢失位置线索;除非业务明确允许丢弃,并留存原始版本,否则不要这样处理。

本页结论

本样本能往返,不代表带替换符的其他文本也能恢复;逐段记录可验证与未知的部分。