python 中怎么把类似这样的✀尀xe5尀xae尀x9d尀xe9尀xb8尀xa1尀xe5尀xb8尀x82✀转换成汉字输出

2024-12-02 12:47:02
推荐回答(5个)
回答1:

首先你要确定这是汉子的十六进制码,还有他的编码方式是什么

我姑且算是utf-8来说明吧

  1. 把上述十六进制转成二进制,python byte类型(记不清是否可以)也可以手动转二进制

  2. p3使用str(s, 'utf8')   p2使用 s.decode('utf8')来对二进制解码

  3. 输出汉字

你要确定上述十六进制码是汉字转过来的,否则无论尝试何种解码方式皆不可得

回答2:

python2控制台输出会有这种情况,包括以下list里面的汉字虽然是utf8格式的但仍然不可见中文。
只需要包要查看的list转为str并decode("string_escape")
例子为:
li = [((33, 39), '宝马'), ((36, 39), '马')]
print str(li).decode("string_escape")
输出就是可查看的样式 [((33, 39), '宝马'), ((36, 39), '马')]

回答3:

python2控制台输出会有这种情况,包括以下list里面的汉字虽然是utf8格式的但仍然不可见中文。
只需要包要查看的list转为str并decode("string_escape")
例子为:
li = [((33, 39), '宝马'), ((36, 39), '马')]
print str(li).decode("string_escape")
输出就是可查看的样式 [((33, 39), '宝马'), ((36, 39), '马')]
2014-07-14
0
其他回答 4条回答
匿名用户
首先你要确定这是汉子的十六进制码,还有他的编码方式是什么

我姑且算是utf-8来说明吧
1. 把上述十六进制转成二进制,python byte类型(记不清是否可以)也可以手动转二进制
2. p3使用str(s, 'utf8') p2使用 s.decode('utf8')来对二进制解码
3. 输出汉字
你要确定上述十六进制码是汉字转过来的,否则无论尝试何种解码方式皆不可得
2014-07-14
0
匿名用户
str = '\xe5\xae\x9d\xe9\xb8\xa1\xe5\xb8\x82'
print str.decode('utf-8')
2014-07-14
0
匿名用户
我猜这个数据格式是字节流bytes格式吧?此时可用bytes.decode('gbk')解码为字符串。
比如:a=b'123'
c=a.decode('gbk')
print(c)
可得:123
2014-07-15
0
匿名用户
在Python shell下输入
>>> bytes = 'hello你好'
>>> bytes
'hello\xc4\xe3\xba\xc3'
>>> print bytes
'hello你好'

回答4:

我猜这个数据格式是字节流bytes格式吧?此时可用bytes.decode('gbk')解码为字符串。

比如:a=b'123'
c=a.decode('gbk')
print(c)
可得:123


回答5:

这串字符是utf8编码的
建议:#coding=utf8 指定编码为utf8
或.decode("utf8") 再转成你程序的编码 .encode("")