错误"IDNA不往返"意味着模块在解码和编码字符串时获得不同的结果.
通过查看Python的IDNA模块的源代码,如果模块无法重新创建输入,则会在第139行引发错误"IDNA不会往返".在解码功能中,输入按点分割,每个部分都被转换toUnicode.在那里文本被解码,但在返回结果之前,它对结果进行编码并将其与输入进行比较,如果不相同则引发错误:"它不会往返"或encode(decode(text)) != text.
在错误消息中,您还会获得它尝试比较的两个字符串,在第一个示例中,您获得:
UnicodeError: ('IDNA does not round-trip', 'xn--grohandel-shop-2fb', 'grosshandel-shop')
Run Code Online (Sandbox Code Playgroud)
你得到错误,因为它已经ß在"großhandel-shop"转换ss为"grosshandel-shop".该ß角色.de在2010年末被添加到-tld,所以这是一个错误.在改变之前ß应该改为ss.
你的第二个例子可能是腐败的,因为它转换为:"đsottĤmqĐqǗoĔĔ5"
| 归档时间: |
|
| 查看次数: |
884 次 |
| 最近记录: |