gpt4 book ai didi

python - IDNA 不往返

转载 作者:太空狗 更新时间:2023-10-30 02:49:05 24 4
gpt4 key购买 nike

我有一些无法解码的 IDNA 编码字符串。在 Python 中,我尝试 u"xn--grohandel-shop-2fb".decode("idna") 并得到错误“IDNA does not round-trip”。 "xn--sottmqqo5-lgbe9b7no0hmz9u" 也是如此。

我被难住了,用谷歌搜索错误根本没有帮助。

最佳答案

错误“IDNA does not round-trip”是指模块在解码和编码字符串时得到不同的结果。

通过查看 source code对于 Python 的 IDNA 模块,如果模块无法重新创建输入,则会在第 139 行出现错误“IDNA 不往返”。在解码函数中,输入被点分割,每个部分都在 toUnicode 中转换。文本在那里被解码,但在返回结果之前,它对结果进行编码并将其与输入进行比较,如果不相同则引发错误:“它不往返”或 encode(decode (文本)) != 文本

在错误消息中,您还得到了它试图比较的两个字符串,在第一个示例中,您得到:

UnicodeError: ('IDNA does not round-trip', 'xn--grohandel-shop-2fb', 'grosshandel-shop')

您收到错误是因为它已将“großhandel-shop”中的ß 转换为“grosshandel-shop”中的ssThe ß character was added to the .de-tld late 2010 ,所以这是一个错误。在更改之前 ß 应该更改为 ss

您的第二个示例可能已损坏,因为它转换为:“đsottĤmqĐqǗoĔ⢠5”

关于python - IDNA 不往返,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9806036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com