看板Python
标 题Re: [问题] 写档(二进位)
发信站老鼠的香香乳酪洞 (Sat Nov 29 21:03:16 2008)
转信站ptt!news.ntu!news.ncu!ctu-peer!news.nctu!csnews.cs.nctu!news.cs.nctu!M
※ 引述《[email protected] (Ar藤)》之铭言:
: 请问下面这一段程式码
: ftr=open("pic.bmp","rb")
: BMPData=ftr.read()
: ftr2=open("change.bmp",'w')
这里改用ftr2=open("change.bmp",'wb')
b 是 binary 的意思
主要是不同 Windows 平台的文字档对换行字符有特别解释
跟 binary 混用是会有问题的
: for i in BMPData:
: ftr2.write(i)
: ftr2.close()
: ftr.close()
: 为什麽输出会和输入不同呢?
: 输出(change.bmp)
: 000001b0h: 04 04 03 04 04 04 0C 03 03 0C 03 03 04 03 03 05 ; ................
: 000001c0h: 04 04 05 04 04 04 03 03 04 03 03 0C 03 03 0C 04 ; ................
: 000001d0h: 0C 0C 03 0B 0B 03 0D 0A 04 03 03 04 03 03 0C 03 ; ................
: ^^输出多一个这个
: 输入(pic.bmp)
: 000001b0h: 04 04 03 04 04 04 0C 03 03 0C 03 03 04 03 03 05 ; ................
: 000001c0h: 04 04 05 04 04 04 03 03 04 03 03 0C 03 03 0C 04 ; ................
: 000001d0h: 0C 0C 03 0B 0B 03 0A 04 03 03 04 03 03 0C 03 0B ; ................
--
※Post by zao from solver.csie.ntu.edu.tw
老鼠的香香乳酪洞˙电子布告栏系统˙alexbbs.twbbs.org˙140.113.166.7