如何解码 IBM/360 列二进制格式的十六进制数

How to decode hexadecimal number in IBM/360 column binary format

我有一个消息:

x2400\x1100\x2001\x1020\x2100\x0900\x2008\x2012\x0900\x1001\x2001\x1010\x2001\x0900\x0802\x0812\x1200\x2010\x0802\x1004\x0820\x1010\x2100\x2002\x1012

它是 IBM 列二进制格式。看了一些文档,自己做不到。

https://www.masswerk.at/keypunch/?q=Mr.%20Donald%20F.%20Draper,%20104%20WAVERLY%20PLACE,%20APT%203R,%20NEW%20YORK,%20NY

解码后的消息是:

ALIMCTF(TRINITY'KEYPUNCH) 

为了解码消息,必须考虑以下因素:

  • 每个字符由两个字节标识,例如\x2400 对应 A.

  • 第一步,必须分别解码两个字节。为此,已发布的 link(高级用法 部分)中的 IBM/360 列二进制格式 (cbf) 必须使用。每个位都分配给一个特定的位置,例如如果字节 1 的值为 0x20,则对应于位 5,因此对应于位置 Y。类似于字节 2,例如如果字节 2 的值为 0x12 = 0x10 + 0x02,那么这对应于位 41,因此对应于位置 58。总的来说,这导致位置 Y58 或简称 Y58

  • 第二步,必须识别由位置决定的字符。为此,必须使用已发布的 link(用法 部分)中的 IBM 029 keypunch。例如。位置 Y58 确定字符 (.

如果对整封邮件都这样做,table 结果如下:

Message Byte1,  Byte2   Byte1,  Byte2,  Position    Character
        hex     hex     cbf     cbf                 IBM 029
\x2400  24      00      Y1      0       Y1          A                       
\x1100  11      00      X3      0       X3          L
\x2001  20      01      Y       9       Y9          I       
\x1020  10      20      X       4       X4          M           
\x2100  21      00      Y3      0       Y3          C
\x0900  09      00      03      0       03          T
\x2008  20      08      Y       6       Y6          F   
\x2012  20      12      Y       58      Y58         (
\x0900  09      00      03      0       03          T   
\x1001  10      01      X       9       X9          R
\x2001  20      01      Y       9       Y9          I
\x1010  10      10      X       5       X5          N
\x2001  20      01      Y       9       Y9          I
\x0900  09      00      03      0       03          T   
\x0802  08      02      0       8       08          Y
\x0812  08      12      0       58      58          '
\x1200  12      00      X2      0       X2          K
\x2010  20      10      Y       5       Y5          E
\x0802  08      02      0       8       08          Y
\x1004  10      04      X       7       X7          P
\x0820  08      20      0       4       04          U
\x1010  10      10      X       5       X5          N
\x2100  21      00      Y3      0       Y3          C
\x2002  20      02      Y       8       Y8          H       
\x1012  10      12      X       58      X58         )

解码消息位于最后一列(从上到下阅读)。