猿问

如何在python中解码ascii字符串?

例如,在您的python shell(IDLE)中:


>>> a = "\x3cdiv\x3e"

>>> print a

您得到的结果是:


<div>

但如果a是ascii编码的字符串:


>>> a = "\\x3cdiv\\x3e" ## it's the actual \x3cdiv\x3e string if you read it from a file

>>> print a

您得到的结果是:


\x3cdiv\x3e

现在我真正想要的a是<div>,所以我这样做了:


>>> b = a.decode("ascii")

>>> print b

但是令人惊讶的是我没有得到想要的结果,它仍然是:


\x3cdiv\x3e

所以基本上我该怎么办转换a,这是\x3cdiv\x3e对b,这应该是<div>?


谢谢


眼眸繁星
浏览 305回答 2
2回答

幕布斯7119047

>>> a = rb"\x3cdiv\x3e">>> a.decode('unicode_escape')'<div>'

斯蒂芬大帝

使用python 3.x,您可以将Kabie的答案改编为a = b"\x3cdiv\x3e"a.decode('unicode_escape')或者a = b"\x3cdiv\x3e"a.decode('ascii')都给>>> ab'<div>'什么是b前缀?字节字面量始终以“ b”或“ B”为前缀;它们产生字节类型而不是str类型的实例。它们只能包含ASCII字符;数值等于或大于128的字节必须用转义符表示。
随时随地看视频慕课网APP

相关分类

Python
我要回答