python - 请问png读取出来到编码是怎样的?
问题描述
想了解一下图像实际储存的代码形式是怎样的?试着暴力读取一下:
with open(’/usr/src/pycharm-2017.1/bin/pycharm.png’,’r’) as f: print(f.read())
结果出现了错误
Traceback (most recent call last): File '/home/noodle/PycharmProjects/untitled/test/picture_test.py', line 3, in <module> print(f.read()) File '/usr/local/python34/lib/python3.4/codecs.py', line 319, in decode (result, consumed) = self._buffer_decode(data, self.errors, final)UnicodeDecodeError: ’utf-8’ codec can’t decode byte 0x89 in position 0: invalid start byte请输入代码
这是为啥呢?请问除了用别的库,有什么方法解决么?
问题解答
回答1:不要用文本文件格式打开非文本的文件!
PNG这种文件应该用binary格式的文件来读取:
with open(’#filename#.png’,’rb’) as f: print(f.read())回答2:
试下用 ’rb’ 模式打开
with open(’/usr/src/pycharm-2017.1/bin/pycharm.png’,’rb’) as f: print(f.read())
相关文章:
1. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题3. mysql多表联合查询优化的问题4. 数据库设计 - MySQL数据库主键问题5. MYSQL新建用户设置可以远程访问的问题6. linux - 为什么我在mysql的my.cnf下找不到bind-address?7. node.js - 我想让最后进入数据库的数据,在前台最先展示,如何做到?8. MySQL中的enum类型有什么优点?9. mysql字符串排序问题10. mysql 5.7单表300万数据,性能严重下降,如何破?
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)