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. javascript - webpack构建工具重构代码的流程是怎么样的?2. java - 安卓调用c++lib3. 如何解决docker宿主机无法访问容器中的服务?4. javascript - 想做一个canvas的触摸画板,但屏幕会在画的时候滚来滚去,如何阻止?5. java - tomcat部署启动项目后报错 请大神帮我看一下6. mysql 5个left关键 然后再用搜索条件 几千条数据就会卡,如何解决呢7. javascript - 如何根据package.json来自动安装包8. java - 使用 RedisTemplate 操作数据9. css - 如何讓圖片像雲一樣的行為?10. mysql - sql 左连接结果union右连接结果,导致重复性计算怎么解决?

网公网安备