如何解决如何解码 IBM/360 列二进制格式的十六进制数
我有一条消息:
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,%20NY
解决方法
解码后的消息是:
ALIMCTF(TRINITY'KEYPUNCH)
为了解码消息,必须考虑以下几点:
-
每个字符由两个字节标识,例如
\x2400
对应于A
。 -
第一步,两个字节必须分别解码。为此,必须使用来自已发布链接(高级用法 部分)的 IBM/360 列二进制格式 (cbf)。每个位被分配到一个特定的位置,例如如果字节 1 的值为
0x20
,则它对应于位5
,因此对应于位置Y
。类似于字节 2,例如如果字节 2 的值为0x12 = 0x10 + 0x02
,则这对应于位4
和1
,因此对应于位置5
和8
。总的来说,这导致位置Y
、5
和8
或简称Y58
。 -
在第二步中,必须识别由位置确定的字符。为此,必须使用发布链接(使用 部分)中的 IBM 029 按键。例如。位置
Y
、5
和8
决定字符(
。
如果对整个消息都这样做,则结果如下表:
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 )
解码后的消息在最后一列(从上到下阅读)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。