如何处理二进制
编号:QA000712
建立日期: 1999年3月28日 最后修改日期:1999年3月28日
所属类别:
DD:
VB5
PW98
我想,WinZip加密时是先要打开该被加密文件存放到一个变量或控件中去,然后再对其加密保存的。既然WINZIP能以某种格式准确无误地打开文件,为什么我却不能把二进制文件(如EXE,BMP)文件准确地打开在RICHTEXTBOX中?我在用LOADFILE以TEXT格式打开并保存一个真彩位图文件时,该文件虽能被打开显示,但颜色信息丢失得厉害。打开并保存一个可执行文件时连文件的图标信息也没了,一双击就说内存不够。
记得WORD97也是能做到准确地打开/保存一个二进制文件的,请问我怎样才能实现像他们那样?
我想准确地打开文件,是因为近来想编一个加密程序,需要把文件写在RICHTEXTBOX上对其字符逐一加密再保存。如果你有什么好建议,恳请赐教!
回答:
你以为所有软件都是将二进制数据写在RichTextBox上然后再处理的吗?Word97和WinZip都没有使用RichTextBox。而RichTextBox只支持文本数据,不支持二进制数据。你用RichTextBox读入二进制文件时,通常RichTextBox在读到代表文件结尾的Chr(27)时就会停止调入文件,其后的内容会被RichTextBox忽略。所以你保存文件时会丢失信息。为什么一定要使用RichTextBox?完全没有必要。
处理二进制数据可以先建立一个Byte型的数组。然后利用Open ... As Binary以二进制方式打开文件,使用Get语句读入数据放在Byte型数组中。处理(加密)后,再使用Put语句将数据写入文件就行了。WinZip加密时也是采用这种办法的,而不是先放在什么控件中的。
此问题由李海回答。
| |
|
|
| |
|
|