\u
字符串
import json
# 编码为json字符串
json_str = json.dumps(“你好”) # "\\u4f60\\u597d"
print(json_str) # '\u4f60\u597d'
# 解码为python对象
data = json.loads(json_str) # “你好”
print(data) # 你好
s = '\u4f60\u597d'
repr(s) # "你好"
str(s) # 你好
print(s) # 你好
\x
字符串
s = '你好'.encode('utf-8') # b'\xe4\xbd\xa0\xe5\xa5\xbd'
s1 = '你好'.encode('gbk') # b'\xc4\xe3\xba\xc3'
s.decode('utf-8') # ‘ 你好’
s1.decode('gbk') # '你好'
检测类型
pip install chardet
import chardet
s = '你好'.encode()
print(chardet.detect(s)) # {'encoding': 'utf-8', 'confidence': 0.7525, 'language': ''}
s = b'\u4f60\u597d'
print(chardet.detect(s)) #{'encoding': 'ascii', 'confidence': 1.0, 'language': ''}
s = b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(chardet.detect(s)) # {'encoding': 'utf-8', 'confidence': 0.7525, 'language': ''}
s = b'\xc4\xe3\xba\xc3'
print(chardet.detect(s)) # {'encoding': 'TIS-620', 'confidence': 0.3598212120361634, 'language': 'Thai'}
0x
与\x
区别:
- 0x 表示整型数值(十六进制)。
0x41 = 65
0o41 = 33
0b101 = 5
-'\x' 表示字符串表达(带引号)
'\x41' 表示 'A'
'\x42' 表示 'B'
- \ 表示转义
\x 后边跟两位,表示单字节编码。
\d 十进制编码
\o 8进制编码
\u 1
chr
str
ord
【注】 Python2 的unicode 函数在 Python3 中被命名为 str。在 Python3 中使用 ·str 来代替 Python2 中的 unicode。
\u 代表 unicode 编码,是一个字符
\x 代表 UTF-8 编码的数据,可以转换为 Unicode 编码,得到对应的汉字,