You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用IDNA库编码Unicode域名时出现b'...'格式,如何获取预期字符串?

解决IDNA编码后输出带b''的问题

你看到的b'xn--espaol-zwa.com'是Python对bytes类型对象的默认打印格式,idna.encode()方法本身返回的就是bytes对象而非字符串。要得到纯Punycode格式的字符串,只需把bytes对象解码为ASCII字符串即可(Punycode仅包含ASCII字符)。

修改后的代码如下:

import idna
encoded = idna.encode('español.com')
print(encoded.decode('ascii'))

执行后输出:

xn--espaol-zwa.com

这样处理后,你依然可以用idna.decode()正常解析该字符串得到原域名español.com,完全不影响后续解码流程。

内容的提问来源于stack exchange,提问作者Mr Fett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 22:41:59