为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python 将中文 Unicode 码位转换为字符串

使用 Python 将中文 Unicode 码位转换为字符串

慕田峪9158850 2022-07-26 15:49:12
我有一个包含 8105 个中文字符的Unicode 代码点的文件,看起来类似于U+516DU+4E03U+516B我理解这些代表以下汉字六 [Chinese character for 'six', Reference http://hanzidb.org/character/%E5%85%AD]七 [Chinese character for 'seven', Reference http://hanzidb.org/character/%E4%B8%83]八 [Chinese character for 'eight', Reference http://hanzidb.org/character/%E5%85%AB]如何使用 Python 3 将包含字符串U+516D, U+4E03,的文件转换U+516B为对应的汉字?任何帮助,将不胜感激。提前致谢。
查看完整描述

2 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

def get_character(string):

    return chr(int(string[2:], 16))

>>> get_character("U+4E03")

'七'

>>> get_character("U+516D")

'六'

>>> get_character("U+4E03")

'七'

>>> get_character("U+516B")

'八'

这是我所知道的最简单的方法,注意它不会检查正确的格式,只是砍掉前 2 个字符,假设U+


查看完整回答
反对 回复 2022-07-26
?
慕容708150

TA贡献1831条经验 获得超4个赞

此正则表达式会将U+hhhh格式(4-6 个十六进制字符)的文本转换为其相应的 Unicode 代码点:


import re


s = 'U+516D U+4E03 U+516B'


s = re.sub(r'U\+([0-9A-F]{4,6})',lambda m: chr(int(m.group(1),16)),s)

print(s)

输出:


六 七 八


查看完整回答
反对 回复 2022-07-26
  • 2 回答
  • 0 关注
  • 205 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信