uimsbf和 bslbf的含义

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!#@$%^#[email protected]!%@16000AF4FFFFFFFF%%&……*……%%在整个传输流中,只有收到某一个程序里面写的tag后,才开始工作。
关于用C如何表示,其实必须有一个接口能把数据传近来,然后监听约定的值,如果没有,就是无用的数据,直接抛弃。如果有,就用C按照规范,把tag后面的负载拆开。每一位该怎么解析,用枚举搞定,最后封装个判断的函数, 哪些位的哪些组合返回什么, 哪些位的哪些组合又返回什么。然后以后别人用你的东西继续开发,或是自己继续开发,都方便了,公司里面也是这样处理的,就是专门做协议解析的人,和专门做规范的人,和应用实现的人(其中应用实现最简单,返回值就那么几个, 哪个返回值就操作封装好的那些函数即可)

时间: 2024-10-12 02:20:26

uimsbf和 bslbf的含义的相关文章

java socket编程中backlog的含义(zz)

使用Java.NET.ServerSocket能够方便的创建一个服务端套接字,这个类的构造函数有一个参数backlog.下面这段代码,在本机的8888端口上建立了一个套接字,backlog设置为5. [java] view plain copy // port:8888,backlog:5 ServerSocket server = new ServerSocket(8888, 5); 下面的Client是我们的测试类,会创建30个socket连接. [java] view plain copy

数字51在域名里有什么含义吗? 为什么叫51cto

数字51在域名里有什么含义吗? 为什么叫51cto

2>&1 >/dev/null & 与/dev/null 2>&1含义

/dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2 表示stderr标准错误 & 表示等同于的意思,2>&1,表示2的输出重定向等同于1 1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到

mysql慢查询优化之explain的各列含义

mysql> explain select customer_id,first_name,last_name from customer; +----+-------------+----------+------+---------------+------+---------+------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra

Spring中@Resource、@controller注解的含义

@Resource 注解被用来激活一个命名资源(named resource)的依赖注入,在JavaEE应用程序中,该注解被典型地转换为绑定于JNDI context中的一个对象. Spring确实支持使用@Resource通过JNDI lookup来解析对象,默认地,拥有与@Resource注解所提供名字相匹配的"bean name(bean名字)"的Spring管理对象会被注入. 在下面的例子中,Spring会向加了注解的setter方法传递bean名为"dataSour

RUP、XP、敏捷过程含义

1.什么是RUP RUP是一个面向对象且基于网络的程序开发方法论.是由Rational软件公司推出的一种完整而且完美的软件过程. 2.什么是XP 极限编程(XP)是敏捷过程中最富盛名的一个,其名称中"极限"二字的含义是指把好的开发实践运用到极致.目前,极限编程已经成为一种典型的开发方法,广泛应用于需求模糊且经常改变的场合. 3.什么是敏捷过程 为使软件开发团队具有高效工作和快速响应变化的能力而起草的宣言,具有下述4个简单的价值观声明组成. (1)个体和交互胜过过程和工具 (2)可以工作

过程流程图符号含义

流程图可以清晰.直观的表达文案的重点,所以在工作和生活中越来越多人使用流程图.但流程图里面的符号及含义你了解吗?你知道每个图形代表什么样的颜色吗?今天小编就来给大家普及一下过程流程图中的符号含义. 为了解释更加清晰明了,小编也通过制作流程图的方式来为大家讲解.首先就需要在网上下载一个流程图软件,小编时下载迅捷流程图制作软件来为大家举例的,直接搜索软件名下载即可. 1.打开软件时,界面会提示你选择创建新图表还是打开现有图表,这里小编创建新图表来为大家讲解. 2.进入后设置文件名,选择左侧中的流程图

U9 各时界日期的含义

知识描述: 需求规划模块"计划者工作台"中的"需求时界日期"."计划时界日期"."发放时界日期","计划生产订单时界"各时界日期是什么含义? 解决办法: 从开始日期到需求时界日期会抓取需求时界原则,从需求时界日期到计划时界日期是抓取计划时界原则,从计划时界日期到结束日期是默认抓取的预测.发放时界日期:如果选择了自动发放,则在此处输入发放日期.表示在发放日期之前的计划订单,在计算结束后自动释放为采购或生产单据

android权限--android开发中的权限及含义(上)

android权限--android开发中的权限及含义(上) android.permission.EXPAND_STATUS_BAR 允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序 android.permission.FACTORY_TEST 作为一个工厂测试程序,运行在root用户 android.permission.FLASHLIGHT 访问闪光灯,android开发网提示HTC Dream不包含闪光灯 android.pe