python - 請(qǐng)問png讀取出來到編碼是怎樣的?
問題描述
想了解一下圖像實(shí)際儲(chǔ)存的代碼形式是怎樣的?試著暴力讀取一下:
with open(’/usr/src/pycharm-2017.1/bin/pycharm.png’,’r’) as f: print(f.read())
結(jié)果出現(xiàn)了錯(cuò)誤
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請(qǐng)輸入代碼
這是為啥呢?請(qǐng)問除了用別的庫,有什么方法解決么?
問題解答
回答1:不要用文本文件格式打開非文本的文件!
PNG這種文件應(yīng)該用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())
相關(guān)文章:
1. python - sqlalchemy更新數(shù)據(jù)報(bào)錯(cuò)2. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?3. javascript - h5微信中怎么禁止橫屏4. macos - 無法source activate python275. empty比isset更嚴(yán)格一點(diǎn)6. thinkphp6使用驗(yàn)證器 信息如何輸出到前端頁面7. 我在導(dǎo)入模板資源時(shí)遇到無法顯示的問題,請(qǐng)老師解答下8. PHPExcel表格導(dǎo)入數(shù)據(jù)庫怎么導(dǎo)入9. javascript - 微信網(wǎng)頁開發(fā)從菜單進(jìn)入頁面后,按返回鍵沒有關(guān)閉瀏覽器而是刷新當(dāng)前頁面,求解決?10. 預(yù)訂金和尾款分別支付

網(wǎng)公網(wǎng)安備