中文域名转码:https://baike.baidu.com/item/%E4%B8%AD%E6%96%87%E5%9F%9F%E5%90%8D%E8%BD%AC%E7%A0%81/11064443?fr=aladdin
1 def is_chinese(word): 2 for ch in word: 3 # 中文utf8 长度 4 if '\u4e00' <= ch <= '\u9fff': 5 return True 6 return False 7 8 9 def chinese_domain_transform(url: str): 10 if url and "." in url: 11 url_list = list() 12 for word in url.split("."): 13 if is_chinese(word): 14 url_list.append("xn--" + word.encode("punycode").decode()) 15 else: 16 url_list.append(word) 17 return ".".join(url_list) 18 19 20 if __name__ == '__main__': 21 url_ = "百度.中国" 22 ret = chinese_domain_transform(url_) 23 print(ret)
https://baike.baidu.com/item/%E4%B8%AD%E6%96%87%E5%9F%9F%E5%90%8D%E8%BD%AC%E7%A0%81/11064443?fr=aladdin