Annex B 基础编码规则-标签长度值数据对象格式 155

2024-02-23 13:59

本文主要是介绍Annex B 基础编码规则-标签长度值数据对象格式 155,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Annex B 基础编码规则-标签长度值数据对象格式 155

BER-TLV基础编码规则-标签长度值,在ISO/IEC 8825中定义,它包含了2-3个连续数据对象域:

  • 标签域T,包含了一个或多个连续的字节。他标识一种类别、一种类型和一个数据(见表35)。标签域数据对象在本章中描述是包含1~2个字节的。
  • 长度域L,包含一个或多个连续的字节。它标识了接下来域的长度。长度域在本章中定义的数据对象是通过卡片中通传输接口的,用1~2个字节的编码。
    注意:三个字节长度的数据域可能会在'71'模板、'72'模板、'86'标签下使用,表达大于255的长度,不过并不通过卡片中端传输接口发送。
  • 值域V,标识了数据对象的值部分。如果长度域为0,那么值域不应该出现

一个BER-TLV数据对象属于以下两种存储体之一:

  • 一个金融交易交换的数据元素值域所包含的一个原始的数据对象
  • 值域包含一个或多个原始或者混合的数据对象的混合数据对象。一个混合数据对象的值域叫做模板。

译者注:
其中6F/A5就是模板他们包含了子原始数据,84/88等是原始数据,没有子元素。
这里写图片描述
这里写图片描述

下文定义了接下来的BER-TLV编码方式

B1 基础编码规则-便签长度值数据对象 标签域编码 156

表35描述TLV数据对象中T的第一个字节
根据ISO/IEC 8825,表36定义了,当标签数目≥31使用时,TLV尾随字节的编码规则。(第一字节中第1-5位填充‘11111’)。
这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述

在TLV编码数据对象的前中后,’00’字节不带任何意义(例如,由于引起或者修改TLV格式的数据对象)
注意:强烈建议发卡行不要使用'FF'开头作为T的专有意义,因为当前终端很有可能不认别'FF'作为私有类型标签

TLV数据对象的标签域,根据下列标准编码:

  • 在ISO/IEC 7816 应用模板应为 ‘61’/’6F’
  • 在PartII中定义应用模板为:’70’~’7F’。意思根据特定应用的上下文而定。
    ISO/IEC 7816-6 中定义的 ‘78’/’79’/’7D’/’7E’没有使用
  • 支持ISO/IEC 7816-6 中定义并在Part II中有描述的
  • 上下文特定的数据对象定义在本文或者在相应模板出现的地方
  • 原始的上下文特定数据对象编码在’80’~’9E’和’9F00’~’9F4F’之间,为本文所预留
  • 原始的上下文特定数据对象编码在’9F50’~’9F7F’之间,为支付系统预留
  • 原始的上下文特定数据对象编码’BF20’~’BF4F’之间和’BF0C’,为本文预留
  • 组合上下文特定数据对象编码’BF10’~’BF1F’/’BF50’~’BF6F’,为支付系统预留
  • 组合上下文特定数据对象编码’BF01’~’BF0B’,’BF0D’~’BF0F’/’BF70’~’BF7F’,由发卡行指定
  • 原生的和组合的私有数据对象编码由发卡行指定

使用到的应用级(application class) 数据对象如果在GB/T 16649中有定义,那么应当遵循GB/T 16649中的定义与使用方法。
‘ 61’至‘6F’,作为应用级(application class) 模板,在GB/T 16649中被定义。
‘ 70’至‘7F‟,作为应用级(application class) 模板,在本规范各部分中被定义。‘ 78’,‘ 79’,
‘ 7D’和‘7E’,在GB/T 16649. 6中被定义,但本规范未使用。
使用到的规范级(Context-specific class) 数据对象,应遵循本规范的定义。
‘ 80’至‘9E’和‘9F01’至‘9F4F’ 国际标准组织保留。
‘ 9F50’至‘ 9F7F’本规范保留。
‘ BF20’至‘ BF4F’和‘BF0C’ 国际标准组织保留。
‘ BF10’至‘ BF1F’和‘BF50’至‘ BF6F’ 支付系统保留。
‘ BF01’至‘ BF0B’,‘BF0D’至‘ BF0F’和‘ BF70’至‘BF7F’保留给发卡机构使用。
‘ DF01’至‘ DF7F’支付系统保留。

B2 基础编码规则-便签长度值数据对象 长度域编码 157

第一个字节的第8位最有意义,当其为0的时候长度单元包含1个字节,可用位b1-7。长度范围是1-127。
当第8位为1的时候,尾随的b1-7意思为计入长度域的后续字节有几个。后续的字节作为一个整形标识,两个字节一起表示255长度

B3 基础编码规则-便签长度值数据对象 值域编码 158

一个数据元素是原始BER-TLV数据对象的值域。一个数据元素是最小打数据域,如下图所示:

这里写图片描述

一个组合BER-TLV数据对象包含一个标签、一个长度和一个值域,包含一个或多个原始BER-TLV数据对象。在应用元素文件中的一个记录是本文所定义管理下的一个混合TLV数据对象。一个混合数据对象如下:

这里写图片描述

这篇关于Annex B 基础编码规则-标签长度值数据对象格式 155的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/738884

相关文章

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

Nginx location匹配模式与规则详解

《Nginxlocation匹配模式与规则详解》:本文主要介绍Nginxlocation匹配模式与规则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、环境二、匹配模式1. 精准模式2. 前缀模式(不继续匹配正则)3. 前缀模式(继续匹配正则)4. 正则模式(大

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化