drm开发一 --- dcf解析

1、网络字序的处理
      编码分 big-endian、little-endian,网络字序就是big-endian(如0x0a0b0c0d,按照内存位从底到高排就是  0a  0b  0c  0d  )。
      对于type,在drm中定义为UInt32(如ContainerBox的token为'odrm',值为0x6f 64 72 6d),则定义各个type的宏时,将其内存按big-endian排列内存。这样,将type的宏值和dcf中的type值都直接强转为UInt32类型就可以直接进行比较了,不论当前系统是哪种编码,它们会被解释为相同的值。
      对于数字值,如length,可以定义一个ntohl宏函数,将网络字序转换为当前系统的有效数据。当系统为little-endian时,将dcf中的数字值的内存进行倒序排列;当系统为big-endian时,则不作任何处理,这样dcf中的数字值就可以被正确的解释了。

 

2、。。。

你可能感兴趣的:(c,网络,token)