有哪位高手懂bslbf和uimsbf如何用吗

有谁懂bslbf和uimsbf怎么用吗?
做的是关于cmmb协议的东东,要解析打包了的数据,人家的协议规定包头的语法为
消息头()
{
Vision :4 bslbf
head_length:4 bslbf
service_id:16 uimsbf
msg_id:16 uimsbf
.
.
.
}
请问各位高手这个该如何定义和解析,bslbf和uimsbf的具体用法是神马?如果我想获取service_id的话改怎么把uimsbf格式转换为十六进制的数

------解决方案--------------------
不懂广播电视方面的标准
http://hi.baidu.com/huangyif/blog/item/e9d23124a079fa20d5074254.html
------解决方案--------------------
bslbf代表位串,即“Bit string, left bit first ”,uimsbf代表无符号整数,即”unsinged integer, most significant bit first”,数字表示该数据项所占的比特数。

------解决方案--------------------
不一定对!
struct XXXX // Declare XXXX bit field
{
BYTE Vision : 4; // 
BYTE head_length : 4; // 
WORD service_id : 16; // 
};