字符集中易混淆字符排除是否存在相关标准?
排除易混淆字符的标准化字符集
存在专门为减少视觉误读设计的标准化字符集,这类字符集广泛应用于打印标识、临时密码、验证码、设备序列号等场景,核心逻辑是移除视觉相似度高的字符对。
1. RFC 4648 Base32 字符集
这是国际认可的正式标准,它严格排除了所有易混淆字符,保留的字符集合为:ABCDEFGHIJKLMNOPQRSTUVWXYZ234567
针对你提到的易混淆示例:
- 移除了
i、l、1、!这类易混的小写字母、数字和符号 - 移除了
o、O、0中易混的0和小写o,仅保留大写字母与2-7的数字 - 对于
4AH、5S、7T这类字体依赖的易混组合,该标准通过仅保留大写字母,降低了数字与字母的混淆概率
2. 通用无混淆实用字符集
很多服务会根据场景定制简化版的无混淆字符集,典型的保留规则是:
- 数字:仅保留
2、3、4、5、6、7、8、9(排除0、1,避免与O、I/L混淆) - 字母:仅保留
A、B、C、D、E、F、G、H、J、K、L、M、N、P、Q、R、S、T、U、V、W、X、Y、Z(排除I、O,避免与1、0混淆) - 符号:完全移除所有符号,避免与数字/字母混淆
最终保留的字符集示例:ABCDEFGHJKLMNPQRSTUVWXYZ23456789
这类字符集的设计均基于视觉识别误读的研究数据,通过剔除高混淆风险的字符,大幅降低人工识别错误率。
内容的提问来源于stack exchange,提问作者Reyhn
相关产品推荐
相关产品推荐

