40 40 0c ac 08 31 26 e9(16进制数)  32.099(转换后的10进制数)
40 40 8c cc cc cc cc cd(16进制数)  33.1(转换后的10进制数)
40 F8 73 80 00 00 00 00(16进制数)     100152(转换后的10进制数)
这是flv文件头metadata中的一些数值,后面的十进制数是我用flash读metadatar的方法读出的结果,,可就是不知道是怎么得到的,我想用php重写一个 

解决方案 »

  1.   

    把读入的十六进制数据转换为字符型,然后,判断该字符串内每一个字符是否为数字(ascii值在30H到39H之间)
    或者是否为字母a-f(ASCII值在40H到45H之间),再转为对应的整数型,即a为10,b为11,9还是9.。。然后,在“十位”上的数乘以16加上个位上的数,即可。再转为字符型,输出保存文本即可。
    在高级语言里面做这些转换很低效率,如果是汇编,对于大量的数据转换,使用LODSB之类的指令,加上DAA这些指令,装换很方便很快速,其实高级语言里面在编译时就是用这些指令编译的
    所以,如果你自己用高级语言写这些,编译出来的东西就很死板,很“沉重”,低效率。