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格式的文件來讀?。?/p>
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. 使用text-shadow可以給圖片加陰影嗎?2. angular.js - angularjs如何傳遞id給另一個視圖 根據id獲取json數據?3. 數據庫無法進入4. java - StringBuffer轉成String,可以不同過tostring,而是通過+“”的方式轉換嗎?5. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?6. java - HashSet<int> 為何有錯誤?7. mysql - 記得以前在哪里看過一個估算時間的網站8. 請問一下各位老鳥 我一直在學習獨孤九賤 現在是在tp5 今天發現 這個系列視頻沒有實戰9. python - linux怎么在每天的凌晨2點執行一次這個log.py文件10. select - mysql怎么搜索一個字符串指定位置之后兩位
