日期:2014-05-16  浏览次数:20765 次

单字节处理58分急用
如以文件aaa.exe大小为221字节
尾为1为单字节
如果用16进制打开查看:
aa bb cc dd 好 a          16进制的话,实际大小221字节
最后a 为单字节,那好除理
如果是以
aa bb cc dd 好 e 吧
最后为 好 为双字节但实际大小还是221字节
 
如用open...()且以Un..格式处理打开
会发现它只读取到220字节最停止了,少一个字节,因为UN...格式是已双字读取,不足则不读取,
也就是说是读到
好 e 吧(半个字节)

1.最后一个汉字的半个字节怎么办怎么得到?

当然用u..file()那个,完全可读取,当我这里只想用(open且已Un..格式处理)

问题是用u..file()后用read后我想用它得到最后一个字符 也就是 吧 的半个字节或e 吧两个字符也可以
可用了right()或midb等是有值得到.
[[但很不准,特别是.exe文件最后字符是些很少见且奇怪的字符]]
当然用 b..write"" 写在网页上也会生成两个字节
2.什么函数或代码可解决些问题呢?(凡双字节即222字节我已正确解决了),如果此问题解决,则每一个问题就无所为了.


先说明下,我不想在上传保存时改.exe任何字节方法,目的是要得到精确的,
望大家帮帮忙....刚好碰到这个难题


------解决方案--------------------
用ADO Stream读呢?