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!#@$%^#$@!%@16000AF4FFFFFFFF%%&……*……%%在整个传输流中,只有收到某一个程序里面写的tag后,才开始工作。
关于用C如何表示,其实必须有一个接口能把数据传近来,然后监听约定的值,如果没有,就是无用的数据,直接抛弃。如果有,就用C按照规范,把tag后面的负载拆开。每一位该怎么解析,用枚举搞定,最后封装个判断的函数, 哪些位的哪些组合返回什么, 哪些位的哪些组合又返回什么。然后以后别人用你的东西继续开发,或是自己继续开发,都方便了,公司里面也是这样处理的,就是专门做协议解析的人,和专门做规范的人,和应用实现的人(其中应用实现最简单,返回值就那么几个, 哪个返回值就操作封装好的那些函数即可)
uimsbf和 bslbf的含义的更多相关文章
- TS流解析 二 *****
1.TS格式介绍 TS:全称为MPEG2-TS.TS即"Transport Stream"的缩写.它是分包发送的,每一个包长为188字节(还有192和204个字节的包).包的结构为 ...
- 由css reset想到的深入理解margin及em的含义
由css reset想到的深入理解margin及em的含义 原文地址:http://www.ymblog.net/content_189.html 经常看到这样语句,*{ margin:0px;pad ...
- Stack的三种含义
作者: 阮一峰 日期: 2013年11月29日 学习编程的时候,经常会看到stack这个词,它的中文名字叫做"栈". 理解这个概念,对于理解程序的运行至关重要.容易混淆的是,这个词 ...
- wireshark抓包工具简介以及tcp三次握手的一些含义
wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必须了解网络协议,否则就看不懂wireshark了.为了安全考虑, ...
- PV、EV、AC、BAC、EAC、ETC等计算公式含义
PV.EV.AC.BAC.EAC.ETC等计算公式含义 PV Planned Value:计划值 应该完成多少工作, (按照计划截止目前应该花费的预算) AC Actual Cost:实际成本, 完成 ...
- [MySQL]show index from tb_name命令各列的含义
show index from table_name 这个命令有助于诊断性能低下的查询,尤其是查询是否使用了可用的索引. 下面介绍下 这个命令显示的结果列的含义: | Table | Non_uniq ...
- CPU状态信息us,sy,ni,id,wa,hi,si,st含义
转自:http://blog.csdn.net/sasoritattoo/article/details/9318893 转自:http://fishermen.iteye.com/blog/1995 ...
- http错误代码含义中英文对照
Http错误代码含义中文 概要当用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字 ...
- linux中shell变量$#,$@,$0,$1,$2的含义解释
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...
随机推荐
- 安装android Studio和运行react native项目(基础篇)
ANDROID_HOME环境变量 确保ANDROID_HOME环境变量正确地指向了你安装的Android SDK的路径. 打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设 ...
- (转)linux设备驱动之USB数据传输分析 一
三:传输过程的实现说到传输过程,我们必须要从URB开始说起,这个结构的就好比是网络子系统中的skb,好比是I/O中的bio.USB系统的信息传输就是打成URB结构,然后再过行传送的.URB的全称叫US ...
- Elasticsearch集群问题,导致主master节点发现不了node节点
个人博客:https://blog.sharedata.info/ 最新需要配置es集群采用5个分片和1个副片,正好是11台机器,而只保留一份备份所以只需要5*2=10台机器方案:1.1台作为mast ...
- 记录-springMVC访问web-inf下文件问题+在jsp页面导入jquery插件路径不对问题
环境:spring + springMvc + mybatis + maven 关于在springMVC环境访问web-inf目录下文件,其一有在springMVC xml文件下加 <!-- 对 ...
- Django开发模式会加载两次settings文件导致RotatingFileHandlerError
当使用RotatingFileHandler作为django的日志处理器的时候,会报: Traceback (most recent call last): File "C:\Python2 ...
- Django安装debug tool bar
1.安装Django Debug Toolbarpip install django-debug-toolbar 2.设置项目的DEBUG属性DEBUG = True 3.INSTALLED_APPS ...
- 华为机试ACM(字符组合问题)
今晚做了华为的机试,3道ACM题,最后一道是实现从M个不同字符中任取N个字符的所有组合. eg: input:ABC 2 output:AB AC BC 第一个输入为字符串,第二个输入为组合的字符个数 ...
- Oracle数据库体系结构(7) 表空间管理1
表空间是Oracle数据库最大的逻辑存储结构,有一系列段构成.Oracle数据库对象存储结构的管理主要是通过表空间的管理实现的. 1.表空间的分类 表空间根据存储类型不同分为系统表空间和非系统表空间 ...
- FHQ_treap
上个月还在舔\(splay\):\(FHQ-treap\)太好打了吧真香 前言 还是建议先把\(splay\)学好再看,讲得会比较粗略(但该有的不会少),或者左转其他文章 \(FHQ-treap\)是 ...
- 第六篇 javascript面向对象
一.闭包 闭包是指可以包含自由(未绑定到特定对象)变量的代码块. 「闭包」,是指拥有多个变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 闭包是个函数,而它「记 ...