bslbf代表位串,即“Bit string, left bit first ”,

uimsbf代表无符号整数,即”unsinged integer, most significant bit first”,数字表示该数据项所占的比特数

又一解释:

bslbf  (bit string, left bit first)  比特串,左位在先

uimsbf  (unsigned integer,most significant bit first)  无符号整数,高位在先

我也写一点经验吧,可能以后还有人查这个资料。
这两个单位的本身都是一样的都是bit的意思,就是2进制, 如何转换16进制,就用数手指吧……比如说4位的2进制那就是1111,然后数手指就数出来了~==!==
所谓用bslbf是因为这个串没到一个字节,或是不是字节的整数倍数,才用这种所谓“从左边数起多少位的比特流”
在数字电视领域,SI的规范里面,基本上所有的描述信息都是由一串有序的这种规则构成。比如5楼的:
Vision :4 bslbf  这是4位 ,半个字节,可以表达的区间是1111= 0xF
head_length:4 bslbf 同上,一个tag表示位必须对应一个length位,但是length位不一定要对应tag位,可以是在某个tag里面,私有约定哪几位是表示后面具体负载的长度。比如说后面有4个字节,这里的length就是0x4了
service_id:16 uimsbf 这是两个字节的表示位,11111111 11111111 = 0xFFFF
msg_id:16 uimsbf
在传输流里面传输的东西是一个:
tag  协议栈约定当收到的时候监听,当约定tag位长为1个字节时,例如是0x16
length: 前端发送的,表示这个tag包含的内容的具体长度,按照上面的例子,就是一共有5个字节的位长,一个字节是2的长度“0xFF”,所以在这里的例子是0xA的长度,约定length位的位长是2个字节的话,就是0x000A。
在C里面,解析这些东西是通过位计算(操作),因为传输流里面下来的数据大概是如下:
FDAIFNIWOQNIZNIUC!#@$%^#$@!%@16000AF4FFFFFFFF%%&……*……%%在整个传输流中,只有收到某一个程序里面写的tag后,才开始工作。
关于用C如何表示,其实必须有一个接口能把数据传近来,然后监听约定的值,如果没有,就是无用的数据,直接抛弃。如果有,就用C按照规范,把tag后面的负载拆开。每一位该怎么解析,用枚举搞定,最后封装个判断的函数, 哪些位的哪些组合返回什么, 哪些位的哪些组合又返回什么。然后以后别人用你的东西继续开发,或是自己继续开发,都方便了,公司里面也是这样处理的,就是专门做协议解析的人,和专门做规范的人,和应用实现的人(其中应用实现最简单,返回值就那么几个, 哪个返回值就操作封装好的那些函数即可)

uimsbf和 bslbf的含义的更多相关文章

  1. TS流解析 二 *****

    1.TS格式介绍 TS:全称为MPEG2-TS.TS即"Transport Stream"的缩写.它是分包发送的,每一个包长为188字节(还有192和204个字节的包).包的结构为 ...

  2. 由css reset想到的深入理解margin及em的含义

    由css reset想到的深入理解margin及em的含义 原文地址:http://www.ymblog.net/content_189.html 经常看到这样语句,*{ margin:0px;pad ...

  3. Stack的三种含义

    作者: 阮一峰 日期: 2013年11月29日 学习编程的时候,经常会看到stack这个词,它的中文名字叫做"栈". 理解这个概念,对于理解程序的运行至关重要.容易混淆的是,这个词 ...

  4. wireshark抓包工具简介以及tcp三次握手的一些含义

    wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必须了解网络协议,否则就看不懂wireshark了.为了安全考虑, ...

  5. PV、EV、AC、BAC、EAC、ETC等计算公式含义

    PV.EV.AC.BAC.EAC.ETC等计算公式含义 PV Planned Value:计划值 应该完成多少工作, (按照计划截止目前应该花费的预算) AC Actual Cost:实际成本, 完成 ...

  6. [MySQL]show index from tb_name命令各列的含义

    show index from table_name 这个命令有助于诊断性能低下的查询,尤其是查询是否使用了可用的索引. 下面介绍下 这个命令显示的结果列的含义: | Table | Non_uniq ...

  7. CPU状态信息us,sy,ni,id,wa,hi,si,st含义

    转自:http://blog.csdn.net/sasoritattoo/article/details/9318893 转自:http://fishermen.iteye.com/blog/1995 ...

  8. http错误代码含义中英文对照

    Http错误代码含义中文 概要当用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字 ...

  9. linux中shell变量$#,$@,$0,$1,$2的含义解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...

随机推荐

  1. iOS图片无损拉伸

    一张图片如果放大的话一般情况下会失真,如果该图片是规则的,比如这个聊天气泡,可以用如下代码来设置 UIImage *rightImg = [UIImage imageNamed:@"Sen ...

  2. android 自定义 listView

    目录: 1.主布局 ListView <?xml version="1.0" encoding="utf-8"?><RelativeLayou ...

  3. Laravel开发:Laravel核心——Ioc服务容器源码解析(服务器绑定)

    服务容器的绑定 bind 绑定 bind 绑定是服务容器最常用的绑定方式,在 上一篇文章中我们讨论过,bind 的绑定有三种: 绑定自身 绑定闭包 绑定接口 今天,我们这篇文章主要从源码上讲解 Ioc ...

  4. easyui首页模板

    Easyui首页html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "htt ...

  5. 关于UIView的hitTest:withEvent:方法的理解

    闲来无事 观摩别人的项目 常常发现对UIView的hitTest:withEvent:方法的重写,以前也查过这个方法的用法作用,但是时间一长又忘记了.今天再次看到,就记录一下. 用户触摸屏幕后事件的传 ...

  6. 我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)

    对于游戏玩家而言,游戏界面上看到的"元素"千变万化:但是对于游戏开发者而言,游戏界面上的元素在底层都是一些数据,不同数据所绘制的图片有所差异而已.因此建立游戏的状态数据模型是实现游 ...

  7. JVM指令重排

    指令重排的基本原则: a.程序顺序原则:一个线程内保证语义的串行性 b.volatile规则:volatile变量的写,先发生于读 c.锁规则:解锁(unlock)必然发生在随后的加锁(lock)前 ...

  8. pg 和sql server 分别如何新建二进制数据库字段以及插入二进制数据的sql语句

    PG create table demo ( id int, name bytea ); Insert into demo (id,name)values(256,pg_read_binary_fil ...

  9. proguard 不混淆第三方jar包的问题

    导入lib文件,并且用-dontwarn 和 keep class结合试试,例如: -libraryjars libs/log4j.jar -dontwarn org.apache.log4j.*-k ...

  10. c#命名规则参考

    命名规则参考:1.从组件类型名中移去T前缀.例如TButton变成Button.2.除了第一个元音,删去所有元音字母.例如,Button变成bttn,Edit变成edt.3.压缩双字母.例如,bttn ...