某些字符看起来几乎相同,但是具有不同的代码点。我怎么知道哪个用户输入过?例如,如果我要检查用户是否输入了'é'
,是否应该针对c3 a9
或65 cc 81
进行测试?如果同时检查两者,我怎么知道没有其他可能性了?
我在Python中得到的东西:
>>> b'\xc3\xa9'.decode('utf-8') == b'\x65\xcc\x81'.decode('utf-8')
>>> False
我认为当您编写正则表达式以匹配此类字符时,也会出现相同的问题。通常,您在文本编辑器中看不到编码的字节。