VB6讨厌的就是会很贴心的帮你把读出的字节转成十进制~让你要调试程序时~增加困难度~
还要用小算盘转回去比对~差一个字节就会整个错乱~一般都会有上亿个字节要处理~
其实能掌握要点就简单多了~每串前4位元组是固定格式~
1B + 2B 是总长~3B + 4B 是标示符号~所以每段全长是((1B * 1) + (2B * 256) +4)字节~
因为是LSB~所以高位元在右边~要倒着算~跟解封包类似吧~而后面的就要资料被规格书里的定义了~
一段一段做会比较简单~如果要一次建构一个大结构去处理~光想那结构怎建就会晕倒了~
因为这是国际封测厂通用格式~所以规格书一定是全英文的~
今天把程序架构写好了~但是碰到奇异的现象~一个档案切成多份后用同一只程序转成ASCII码~
居然会不一样~二进制经比对后是一模一样的说~出问题的都在IEEE754格式转换的部分~
明天继续努力~VB6讨厌的就是会很贴心的帮你把读出的字节转成十进制~让你要调试程序时~增加困难度~
还要用小算盘转回去比对~差一个字节就会整个错乱~一般都会有上亿个字节要处理~
其实能掌握要点就简单多了~每串前4位元组是固定格式~
1B + 2B 是总长~3B + 4B 是标示符号~所以每段全长是((1B * 1) + (2B * 256) +4)字节~
因为是MSB~所以高位元在左边~要倒着算~跟解封包类似吧~而后面的就要资料被规格书里的定义了~
一段一段做会比较简单~如果要一次建构一个大结构去处理~光想那结构怎建就会晕倒了~
因为这是国际封测厂通用格式~所以规格书一定是全英文的~
今天把程序架构写好了~但是碰到奇异的现象~一个档案切成多份后用同一只程序转成ASCII码~
居然会不一样~二进制经比对后是一模一样的说~出问题的都在IEEE754格式转换的部分~
明天继续努力~
[
本帖最后由 wube 于 2012-1-9 23:07 编辑 ]