首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python摆脱字节b‘’

Python摆脱字节b‘’
EN

Stack Overflow用户
提问于 2013-06-10 03:01:57
回答 6查看 52.2K关注 0票数 21
代码语言:javascript
复制
import save

string = ""

with open("image.jpg", "rb") as f:
    byte = f.read(1)
    while byte != b"":
        byte = f.read(1)
        print ((byte))

我得到的字节数如下:

b'\x00'

我如何摆脱这个b''

假设我想将字节保存到一个列表中,然后再次将该列表保存为相同的图像。我该如何继续?

谢谢!

EN

回答 6

Stack Overflow用户

发布于 2013-06-10 03:05:03

如果你真的需要“摆脱b”,你可以使用bytes.decode函数:http://docs.python.org/3.3/library/stdtypes.html#bytes.decode

但从你的代码看,你并不真的需要这样做,你真的需要处理字节。

票数 13
EN

Stack Overflow用户

发布于 2013-06-10 03:04:41

b"...“只是字节字符串的python表示法,它并不是真正存在的,它只被打印出来。这会给你带来一些真正的问题吗?

票数 4
EN

Stack Overflow用户

发布于 2014-07-29 22:27:08

b''只是在print时写入的数据的字符串表示形式。

在这里使用decode对您没有帮助,因为您只需要字节,而不需要它们所代表的字符。分割字符串表示的帮助更小,因为这样仍然会留下几个无用字符('\‘、'x’等等)的字符串,而不是原始字节。

不需要修改数据的字符串表示形式,因为数据仍然存在。只需使用它而不是字符串(即不要使用print)。如果您想复制数据,您可以简单地执行以下操作:

代码语言:javascript
复制
data = file1.read(...)
...
file2.write(data)

如果要直接从程序输出二进制数据,请使用sys.stdout.buffer

代码语言:javascript
复制
import sys

sys.stdout.buffer.write(data)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17013089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档