TLV 格式及编解码

简介: 几乎所有的需要在卡片和终端之间传送的数据都是TLV格式的.我给你举个例子方便快速理解:TLV是tag, length和value的缩写.一个基本的数据元就包括上面三个域.

几乎所有的需要在卡片和终端之间传送的数据都是TLV格式的.
我给你举个例子方便快速理解:
TLVtag, lengthvalue的缩写.一个基本的数据元就包括上面三个域. Tag唯一标识该数据元, lengthvalue域的长度. Value就是数据本身了. 举个例子, 下面是一个tlv格式的AID(应用标识符)字节串”9F0607A0000000031010”, 其中9F06是tag, 07是长度, A0000000031010就是AID本身的值了.

对于程序编写人员来说,如果有类似上面这样的一串TLV编码的字节串从卡片传过来, 怎么样从中提取我们想要的数据. 这就牵扯出TLV解码的问题了

TLV一种可变格式,TLV的意思就是:Type类型, Lenght长度,Value值;
Type和Length的长度固定,一般那是2、4个字节;
Value的长度有Length指定;

解析方法:
1.读取type 转换为ntohl、ntohs转换为主机字节序得到类型;指针偏移+2或4
2.读取lenght,转换为ntohl、ntohs转换为主机字节序得到长度;指针偏移+2或4
3.根据得到的长度读取value,指针偏移+Length;
TLV编码就是指先对Tag编码,再对Length编码,最后对Value编码。

相关文章
|
25天前
|
编解码 Windows 内存技术
多媒体的格式
【10月更文挑战第5天】多媒体的格式。
14 3
如何使用 MusicFab 将 SoundCloud音频转换为 WAV格式?
这篇文章为你展示了如何利用三方工具将SoundCloud音频转化为WAV格式以便进行兼容收听。
|
流计算 计算机视觉 索引
使用ffmpeg将视频转成HLS(m3u8)格式
HLS (HTTP Live Streaming)是苹果推出的视频流协议,HLS格式的视频包含一个m3u8文本文件,以及众多的.ts的视频片段,而m3u8文本文件的作用就是将这些ts片段索引起来。 因为HLS协议是将视频切分成很多小的ts片段,这些小片段很适合放到cdn上,有很多视频文章都使用了hls格式传输视频。今天我在这里教大家如何用ffmpeg将mp4格式的视频转为HLS(m3u8)格式。
663 0
|
编解码 Linux vr&ar
如何使用ffmpeg将.m4a 格式转换为 pcma格式
ffmpeg是一款开源的万能媒体格式转换工具。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的
关于如何转换视频格式的解决方案
关于如何转换视频格式的解决方案
117 0
|
存储 编解码 算法
视音频压缩编码
视音频压缩编码
|
编解码
ffmpeg编码格式转换
ffmpeg编码格式转换
435 0
|
Web App开发 编解码 测试技术
HandBrake 开源视频转码器、编码转换器、格式转换器
HandBrake 开源视频转码器、编码转换器、格式转换器 点击下图进入官网下载页面:https://handbrake.fr/downloads.php macOS 下可能会阻止安装! 其实也不是安装,是运行! 需要打开系统偏好设置》安全性与隐私》窗口下方会看到被阻止的程序,点击左下角解锁就可以了。
2514 0
|
Linux
X264编解码器开发: Linux下读取摄像头数据,通过X264压缩编码为X264格式裸流视频文件
X264编解码器开发: Linux下读取摄像头数据,通过X264压缩编码为X264格式裸流视频文件
299 0
|
编解码 Windows 容器
音视频封装格式和编码格式
音视频封装格式、编码格式知识        常见的AVI、RMVB、MKV、ASF、WMV、MP4、3GP、FLV等文件其实只能算是一种封装标准。 一个完整的视频文件是由音频和视频2部分组成的。H264、Xvid等就是视频编码格式,MP3、AAC等就是音频编码格式。 例如:将一个Xvid视频编码文件和一个MP3音频编码文件按AVI封装标准封装以后,就得到一个A