假如我要创建一个BMP文件,但是BMP文件开头有50多个字节的控制字,如果我通过375在U盘下创建文件名ABC.BMP的话,如何来修改文件的开头控制字?因为需要操作文件的二进制码,不知道如何来操作这个层面的数据?期待高手回答~~~
那你将这些数据读出来,然后修改,然后再写回去.
您的意思我没有十分理解。 是说要求U盘内要有一个BMP文件,然后读取它的数据,开头的50多个字节就会是BMP的控制字么?然后我再修改就可以了么? 我还是不太明白在一个空白U盘上如何创建BMP文件,单片机的操作流程应该是怎样的? 我不知道自己的意思表达清楚没有。
引用回复:假如我要创建一个BMP文件,但是BMP文件开头有50多个字节的控制字,~~~ 我不知道控制字符在哪,总之你要改它. 调用文件系统创建BMP文件,只要将后缀名定为BMP就可以,里面的数据怎么样,跟创建文件没关系.你自己去找BMP文件的数据格式.
我已经找到BMP文件格式,但是问题是如果我简单的将格式控制字写入我所创建的BMP文件中,并不能产生一个BMP文件。也就是说我所写入的格式控制字只被系统当作数据来存储。 我的意思就是说:比如你创建了A.TXT这个文件,你写入一句话“Hello!”但是在系统中它存贮的实际上是二进制数。我不是很清楚CH375的读写文件功能是只能直接改变“Hello!”这个字符串还是可以通过改变它对应的二进制数来改变字符串。如果不能操作“Hello!”这个字符串的二进制数,我想不出如何来创建一个BMP文档。因为创建的过程中需要对二进制数进行操作。
不知道我问得是不是不太清楚还是?
纠正一个观念错误,任何文件中的数据存储格式和传输格式都是二进制数据,可见及不可见的字符都是二进制数据,任何硬件包括计算机本身都不区别这两者,硬件所做的就是帮你存储和传输。 重复,所有硬件都不认得“Hello”,它只知道5个HEX数据48H、65H、6CH、6FH,你让它保存什么,它就保存什么,字符串只是人们之间交流的一个说法。文件格式以及后缀后也只是人们的一种约定而已。 OFFICE创建WORD文档时是它自己产生符合某种特定格式的数据文件,虽然被你认为是WORD文档,但是计算机仍然只当它是个普通数据文件,因为它不懂。
CH375以及文件系统库文件给你提供的是一个文件级操作U盘的数据通道,具体你写入的数据是什麽数据通道是不会关心的,也就是说它可以支持任何格式的文件。
哦 那就是说,如果我创建一个空白文件叫A.BMP,然后如果我把一幅已知的BMP文件B.BMP的二进制代码传输到该文件里面,那么这个文件就会在WINDOWS下显示成为跟B.BMP文件一模一样的图片了,是这个意思吧?
Y
你认为呢???