求Python中字符与Unicode码点互转的内置函数
字符与Unicode码点的Python转换方案
嘿,刚好帮你厘清这个点!你可能对ord()函数的功能有点误解——它完全支持所有Unicode字符的码点转换,可不是只能处理ASCII哦!
字符转Unicode码点:用ord()就够了
不管是ASCII字符、中文、日文,还是各种emoji表情,ord()都能返回对应的Unicode码点(十进制整数):
# ASCII字符 print(ord('A')) # 输出 65 # 中文 print(ord('中')) # 输出 20013 # Emoji表情 print(ord('😀')) # 输出 128512
如果需要十六进制的码点,只要把结果转成十六进制格式就行:
print(hex(ord('中'))) # 输出 0x4e2d
Unicode码点转字符:用chr()函数
反向转换的话,Python提供了chr()函数,只要传入有效的Unicode码点(0到0x10FFFF之间的整数),就能返回对应的字符:
# 转ASCII字符 print(chr(65)) # 输出 'A' # 转中文 print(chr(20013)) # 输出 '中' # 转Emoji print(chr(128512)) # 输出 '😀'
哪怕是超出基本多语言平面(BMP)的字符,chr()也能完美处理,不用额外操作。
内容的提问来源于stack exchange,提问作者JonnyNich
相关产品推荐
相关产品推荐

