首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

Python3的bytes与str,该怎么处理

2013-01-05 
Python3的bytes与str又是一个简单的问题,又折腾了很多时间...有一个文件,里面有形如 \x01\x80\x02\xc0\x02

Python3的bytes与str
又是一个简单的问题,又折腾了很多时间...

有一个文件,里面有形如 \x01\x80\x02\xc0\x02\x00 的内容
我知道它是一个 bytes类型,但读进来的时候是一个字符串(没有用rb去读,因为前期要做一些字符串处理以获得这一部分内容)。
问题是,无论是用encode还是bytes(str,'utf-8')去转,它都会变成类似 \\x01\\x80\\x02\\xc0\\x02\\x00 的内容。

求处理方法

[解决办法]
>>> c = '\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a'
>>> print c.decode('utf8')
你好啊
[解决办法]

Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> str = '\x01\x80\x02\xc0\x02\x00';
>>> str.encode('utf-8')
b'\x01\xc2\x80\x02\xc3\x80\x02\x00'
>>> 

encode 后就是 bytes 类型
[解决办法]
人家问的是r'\x01\x80\x02\xc0\x02\x00'怎么转字符.

再者, 这根本就不是utf-8编码的字节流, 你自己都搞不清楚这是什么编码, 往哪里转?
[解决办法]
貌似问题描述的让人费解

热点排行