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. java - mybatis源码分析2. 修改mysql配置文件的默认字符集重启后依然不生效3. Android-studio导入.so库问题?4. 请教一个python字符串处理的问题?5. docker容器呢SSH为什么连不通呢?6. docker网络端口映射,没有方便点的操作方法么?7. css - html根字体设置成很大的值后, 包裹了行内元素的div莫名变高是什么原因8. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!9. docker api 开发的端口怎么获取?10. docker内创建jenkins访问另一个容器下的服务器问题

网公网安备