TLV格式說明

2021-07-04 11:05:55 字數 1334 閱讀 8347

下面是對tag後面出現0x81的說明:

tlv(tag-length-value

),即每個子域由

tag標籤

(t),子域取值的長度

(l)和子域取值

(v)構成。

tag標籤的屬性為

bit,由

16進製表示,佔1~

2個位元組長度。例如,「

9f33

」為乙個占用兩個位元組的

tag標籤。而「

95」為乙個占用乙個位元組的

tag標籤。若

tag標籤的第乙個位元組(注:位元組排序方向為從左往右數,第乙個位元組即為最左邊的位元組。

bit排序規則同理。)的後四個

bit為「

1111

」,則說明該

tag佔兩個位元組,例如「

9f33

」;否則佔乙個位元組,例如「

95」。

子域長度(即l

本身)的屬性也為

bit,佔1~

3個位元組長度。具體編碼規則如下:

a)  當

l欄位最左邊位元組的最左

bit位(即

bit8)為0

,表示該

l欄位佔乙個位元組,它的後續7個

bit位(即

bit7

~bit1

)表示子域取值的長度,採用二進位制數表示子域取值長度的十進位制數。例如,某個域取值佔

3個位元組,那麼其子域取值長度表示為「

00000011

」。所以,若子域取值的長度在1~

127位元組之間,那麼該

l欄位本身僅佔乙個位元組。

b)  當

l欄位最左邊位元組的最左

bit位(即

bit8)為1

,表示該

l欄位不止佔乙個位元組,那麼它到底佔幾個位元組由該最左位元組的後續7個

bit位(即

bit7

~bit1

)的十進位製取值表示。例如,若最左位元組為

10000010

,表示l

欄位除該位元組外,後面還有兩個位元組。其後續位元組的十進位製取值表示子域取值的長度。例如,若

l欄位為「

1000 0001 1111 1111

」,表示該子域取值佔

255個位元組。所以,若子域取值的長度在

127~

255位元組之間,那麼該

l欄位本身需佔兩個位元組。

也就是說,tag(t)+ 0x81 + l(1位元組) + v,tag長度l在127

~255位元組之間;

tag(t)+ 0x82 + l(2位元組) + v,tag長度l在大於

255位元組;

TLV格式解析

tlv tlv格式資料是指由 tag,length value 組成的資料。具體說明如下 tag標籤的屬性為 bit,由 16進製表示,佔1 2個位元組長度。例如,0x9f33 為乙個占用兩個位元組 的tag 標籤。而 0x95 為乙個占用乙個位元組的 tag標籤。若 tag標籤的第乙個位元組 注 ...

TLV格式是什麼格式

tlv 格式是什麼格式 一種可變格式,tlv 的意思就是 type 型別,lenght 長度,value 值 type 和 length 的長度固定,一般那是 2 4 個位元組 value 的長度有 length 指定 解析方法 1.讀取 type 轉換為 ntohl ntohs 轉換為主機位元組序...

TLV格式及編碼

幾乎所有的需要在卡片和終端之間傳送的資料都是tlv格式的.pboc文件裡並沒有對tlv編碼細節做具體說明,而emv的手冊裡雖有敘述,但並不詳細.我下面就要很詳細的分析tlv的編碼格式並給出相應的tlv解碼的偽 tlv是tag,length和value的縮寫.乙個基本的資料元就包括上面三個域.tag唯...