使用 Python 将中文 Unicode 代码点转换为字符串
Convert Chinese Unicode Code Points To Strings Using Python
我有一个包含来自 here 的 8105 个汉字的 Unicode 代码点的文件,看起来类似于
U+516D
U+4E03
U+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]
如何将包含字符串U+516D
、U+4E03
、U+516B
的文件用Python3转换成对应的汉字?
如有任何帮助,我们将不胜感激。
提前致谢。
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")
'八'
这是我所知道的最简单的方法,请注意它不检查正确的格式,假设 U+
只是砍掉前 2 个字符
这个正则表达式将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)
输出:
六 七 八
我有一个包含来自 here 的 8105 个汉字的 Unicode 代码点的文件,看起来类似于
U+516D
U+4E03
U+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]
如何将包含字符串U+516D
、U+4E03
、U+516B
的文件用Python3转换成对应的汉字?
如有任何帮助,我们将不胜感激。
提前致谢。
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")
'八'
这是我所知道的最简单的方法,请注意它不检查正确的格式,假设 U+
这个正则表达式将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)
输出:
六 七 八