python3进行汉字和unicode码的转换

时间:2023-03-09 03:12:26
python3进行汉字和unicode码的转换

输出某个unicode码对应的汉字和某个汉字对应的unicode编码。

# -*- coding=UTF-8 -*-
str1 = "\u6000"#某个汉字的unicode码
str2='一'#汉字一
#print(str1.encode('utf-8').decode('unicode_escape'))
print(str1)#输出str1对应的汉字
print(str2.encode('unicode_escape'))#输出汉字一对应的unicode编码

其实也可以用语句:

 str1.encode('utf-8').decode('unicode_escape')

但是,当这样写时:

str1 = "\u6000"#某个汉字的unicode码
print(str1.encode('utf-8').decode('unicode_escape'))

结果为:

python3进行汉字和unicode码的转换

改成:

str1 = "\\u6000"#某个汉字的unicode码
print(str1.encode('utf-8').decode('unicode_escape'))

结果为:

python3进行汉字和unicode码的转换

结果正确。

python默认用unicode编码,所以可以直接用print输出带有'\u'的字符串,'\u'是转义字符,表示unicode编码。

当我们从txt或者从其他地方读取字符串时,如果用的'\u',当我们读进来的时候,就变成了'\\u',此时要用:

str1.encode('utf-8').decode('unicode_escape')

来进行转码,然后输出。