ISO 8583 消息中的压缩二进制数据和解压缩二进制数据是什么?
what is the packed binary data and unpacked binary data in ISO 8583 message?
我是这个领域的新手,正在研究支付网关,请告诉我iso8583消息中使用的打包和解包二进制数据有什么区别...!
ISO8583 的架构定义文件可在 http://dfdlschemas.github.io/ISO8583 获得。在 ISO8583_1993.xsd
它说:
* This DFDL schema provides a DFDL model for ISO8583 1993 binary data
* where each bitmap in the message is encoded as 8 bytes of binary data
* (8 bits per byte). The bitmaps are said to be 'packed'.
因此,术语 "packed" 指的是位图,可以打包也可以解包。
在 en.wikipedia.org/wiki/ISO_8583#Bitmaps 中表示
The bitmap may be transmitted as 8 bytes of binary data, or as 16 hexadecimal > characters 0-9, A-F in the ASCII or EBCDIC character sets.
在数据结构中,压缩二进制数据通常意味着更多(如果不是全部可用)位组合用于对某些值进行编码,而未压缩意味着某些位组合保持未使用状态,以提高可读性或进行某些计算更容易(但解压缩数据需要更多 space)。
例如一个无符号的byte
(8位)可以编码0到255的数字,如果数字是BCD编码,则只能表示0到99的数字,还有一些位组合没有用到.但是,在某些情况下,基于 BCD 编码数字进行计算比基于二进制编码数字更容易。
综上所述,ISO 8583 定义了两种不同的编码:
- packed 即 8 字节的二进制数据
- 解压为16字节的十六进制字符(两种不同的编码,但这是另一方面)。
一个明显的区别是,当您将此数据转储到控制台时,您可以立即将解压缩的数据读取为十六进制数,而二进制编码只会打印一些垃圾字符,具体取决于您的控制台、区域设置和您安装的字体。
我是这个领域的新手,正在研究支付网关,请告诉我iso8583消息中使用的打包和解包二进制数据有什么区别...!
ISO8583 的架构定义文件可在 http://dfdlschemas.github.io/ISO8583 获得。在 ISO8583_1993.xsd
它说:
* This DFDL schema provides a DFDL model for ISO8583 1993 binary data
* where each bitmap in the message is encoded as 8 bytes of binary data
* (8 bits per byte). The bitmaps are said to be 'packed'.
因此,术语 "packed" 指的是位图,可以打包也可以解包。
在 en.wikipedia.org/wiki/ISO_8583#Bitmaps 中表示
The bitmap may be transmitted as 8 bytes of binary data, or as 16 hexadecimal > characters 0-9, A-F in the ASCII or EBCDIC character sets.
在数据结构中,压缩二进制数据通常意味着更多(如果不是全部可用)位组合用于对某些值进行编码,而未压缩意味着某些位组合保持未使用状态,以提高可读性或进行某些计算更容易(但解压缩数据需要更多 space)。
例如一个无符号的byte
(8位)可以编码0到255的数字,如果数字是BCD编码,则只能表示0到99的数字,还有一些位组合没有用到.但是,在某些情况下,基于 BCD 编码数字进行计算比基于二进制编码数字更容易。
综上所述,ISO 8583 定义了两种不同的编码:
- packed 即 8 字节的二进制数据
- 解压为16字节的十六进制字符(两种不同的编码,但这是另一方面)。
一个明显的区别是,当您将此数据转储到控制台时,您可以立即将解压缩的数据读取为十六进制数,而二进制编码只会打印一些垃圾字符,具体取决于您的控制台、区域设置和您安装的字体。