Python中如何将中文转换成ASCII

比如说'\xe4\xb8\x8d\xe6\x98\xbe\xe7\xa4\xba\xe8\x81\x8c\xe4\xbd\x8d\xe6\x9c\x88\xe8\x96\xaa\xe8\x8c\x83\xe5\x9b\xb4'这段话的中文意思是"不显示职位月薪范围"反过来,'不显示职位月薪范围'我怎么把它转回上面的ASCII吗呢?

>>> ab = '不显示职位月薪范围'
>>> ab
'不显示职位月薪范围'
>>> ab.encode()
b'\xe4\xb8\x8d\xe6\x98\xbe\xe7\xa4\xba\xe8\x81\x8c\xe4\xbd\x8d\xe6\x9c\x88\xe8\x96\xaa\xe8\x8c\x83\xe5\x9b\xb4'
>>>追问

ab = '不显示职位月薪范围'
print (ab.encode())
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)
不成功的

追答>>> ab = '不显示职位月薪范围'
>>> print(str(ab.encode()))
b'\xe4\xb8\x8d\xe6\x98\xbe\xe7\xa4\xba\xe8\x81\x8c\xe4\xbd\x8d\xe6\x9c\x88\xe8\x96\xaa\xe8\x8c\x83\xe5\x9b\xb4'
>>> cd = str(ab.encode())
>>> cd
"b'\\xe4\\xb8\\x8d\\xe6\\x98\\xbe\\xe7\\xa4\\xba\\xe8\\x81\\x8c\\xe4\\xbd\\x8d\\xe6\\x9c\\x88\\xe8\\x96\\xaa\\xe8\\x8c\\x83\\xe5\\x9b\\xb4'"
>>> cd = cd[2:-1]
>>> print(cd)
\xe4\xb8\x8d\xe6\x98\xbe\xe7\xa4\xba\xe8\x81\x8c\xe4\xbd\x8d\xe6\x9c\x88\xe8\x96\xaa\xe8\x8c\x83\xe5\x9b\xb4追问

>>> ab = '不显示职位月薪范围'
>>> print(str(ab.encode()))
print(str(ab.encode()))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb2 in position 0: ordinal not in range(128)
和你一模一样的也会错啊,是不是我的编辑器有问题啊

追答

我用的是python3
你用的是不是python2

>>> ab = '不显示职位月薪范围'
>>> ab.encode('string-escape')
'\\xb2\\xbb\\xcf\\xd4\\xca\\xbe\\xd6\\xb0\\xce\\xbb\\xd4\\xc2\\xd0\\xbd\\xb7\\xb6\\xce\\xa7'
>>> cd = ab.encode('string-escape')
>>> print(cd)
\xb2\xbb\xcf\xd4\xca\xbe\xd6\xb0\xce\xbb\xd4\xc2\xd0\xbd\xb7\xb6\xce\xa7
>>>

>>> ab = u'不显示职位月薪范围'
>>> ab
u'\u4e0d\u663e\u793a\u804c\u4f4d\u6708\u85aa\u8303\u56f4'
>>> cd = ab.encode('utf-8')
>>> cd
'\xe4\xb8\x8d\xe6\x98\xbe\xe7\xa4\xba\xe8\x81\x8c\xe4\xbd\x8d\xe6\x9c\x88\xe8\x96\xaa\xe8\x8c\x83\xe5\x9b\xb4'
>>> ef = cd.encode('string-escape')
>>> print(ef)
\xe4\xb8\x8d\xe6\x98\xbe\xe7\xa4\xba\xe8\x81\x8c\xe4\xbd\x8d\xe6\x9c\x88\xe8\x96\xaa\xe8\x8c\x83\xe5\x9b\xb4
>>>

这是python2的

温馨提示:答案为网友推荐,仅供参考