Python中读取二进制图片(例如 a.jpg)有关解码编码的问题

主要目的是读取图片二进制数据显示出来,但不知道怎么做

结果就出现了下图

希望高手帮我解答下,谢谢了!
只需要能回答我怎么把这个二进制数据输出显示就行
但不要这种格式的''\xe4\xb8\xad\xe6\x96\x87''

binascii.hexlify估计能满足你的要求。不过不建议把二进制数据用编解码来处理,因为编解码只是文本采用了不同的编码方案。而图像这些二进制有自己的含义,文本编解码方案不应该用在这些二进制文件上。s就是你的数据,你也别想看懂,除非你知道jpg格式。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-08-30
import base64
open_icon = open("a.jpg","rb")
b64str = base64.b64encode(open_icon.read())
open_icon.close()
write_data = "img = '%s'" % b64str
f = open("a.py","w+")
f.write(write_data)
f.close
第2个回答  2013-04-17
print s.encode('hex')追问

刚试了下显示
AttributeError: 'bytes' object has no attribute 'encode'
好像说没有这个属性

追答

我的就可以,我是xp系统啊

追问

难道是因为我的是 WIN7吗?
我的python是最新的python3.3

追答

哦,我的是老的2.7.3,应该是版本的问题,记得说py3的所有字符串都是unicode的

本回答被提问者采纳

Python中读取二进制图片(例如 a.jpg)有关解码编码的问题
binascii.hexlify估计能满足你的要求。不过不建议把二进制数据用编解码来处理,因为编解码只是文本采用了不同的编码方案。而图像这些二进制有自己的含义,文本编解码方案不应该用在这些二进制文件上。s就是你的数据,你也别想看懂,除非你知道jpg格式。

如何利用python直接读取并修改文件的二进制编码?
使用Python读取和修改二进制文件编码,只需使用open()函数以二进制模式操作文件。例如:python 打开二进制文件 with open('example.bin', 'rb') as f:读取二进制数据 binary_data = f.read()输出二进制数据 print(binary_data)修改二进制数据 new_binary_data = b'\\x01\\x02\\x03\\x04'binary_da...

Python编程中如何读写二进制文件?
首先,理解二进制文件的概念至关重要。它们是由一系列字节组成,不受字符编码限制,能存储复杂数据结构。在Python中,使用open()函数开启文件时,需要指定"rb"或"wb"模式以区分读取和写入。读取二进制文件,使用read()方法,可以指定读取字节数,如果不指定,将读取整个文件。写入则通过write()方法,输入...

终于搞懂了python2和python3的encode(编码)与decode(解码)
在Python2中,文件读取时如使用utf-8编码,中文字符会以带u的unicode形式出现。任何编码转换前,必须先通过decode函数解码到unicode,然后encode为所需编码。例如:字节串 -> decode('原来的字符编码') -> Unicode字符串 -> encode('新的字符编码') -> 字节串。在Python3中,编码默认为unicode,不需...

在Python中使用base64模块处理字符编码的教程
本文详细介绍了如何在Python中使用base64模块进行字符编码处理,特别关注于Python2.x版本的示例。Base64的核心是将二进制数据转换为64个字符的字符串,便于在文本环境中展示和传输非文本数据,如exe、jpg和pdf等文件内容。编码过程的基本原理是将二进制数据每3字节划分为一组,转换成4组6位的二进制数,...

Python爬虫遇到乱码怎么办
就是爬取过程中没问题,但是用excel打开保存好的csv文件时出现乱码(用记事本打开没问题),这个其实就是文件的编码方式和Excel的解码方式不一致导致的。在dataframe.to_csv这句,参数里添加一个encoding='utf_8_sig',指定文件的编码格式,应该就可以解决了。importpandasaspddefwritePage(urating):'''...

避免Python乱码陷阱:字符编码详解
在Python编程中,乱码问题可能出现在文件操作、网络通信和数据库交互中。例如,使用错误编码打开文件可能导致读取到的文本出现乱码,而网络数据传输中不同系统的编码不一致也需特别注意。处理数据库时,没有正确编码处理的数据也可能带来乱码。要解决这些问题,关键在于明确使用正确的字符编码。在文件操作时,...

Python encode()和decode()方法:字符串编码转换
在Python中,encode()和decode()是两个关键的字符串编码转换工具。它们分别用于将str(Unicode字符)转换为bytes(二进制数据)和反之,这一过程我们称为编码和解码。Python默认使用UTF-8编码,它能有效地处理中文字符,避免乱码问题。encode()方法是str类型到bytes类型转换的桥梁,其基本语法为str.encode(...

python print中文乱码问题 win10 Python2
因为windows默认的编码方式是GBK,python文件保存时使用了utf-8,在读取时,python使用GBK的编码表去解utf-8编码的字节码,因为GBK与UTF-8编码不兼容,自然出现了乱码问题 解决方法:1.直接使用 u'是' 形式,指明以unicode编码,解码方式会以顶部 #coding定义的编码方式,如果不写,以操作系统当前编码方法...

python中,读取文件时什么情况时需写上encoding=utf-8,什么
一、例子与说明 假设有一个名为 test.txt 的文件,内容如下:接下来,我们使用Python代码进行操作:执行结果展示了在不同模式下读取文件时的差异。当打开文件不携带 'b' 参数时,需要指定编码。如果未指定,则使用默认编码。此时调用文件的 read() 方法会得到字符串。反之,当打开文件模式包含 'b' ...

相似回答