【发布时间】:2026-01-21 04:25:01
【问题描述】:
我正在使用实用程序 vutil 将一些 COBOL dat 文件转换为 ASCII:
vutil -extract input.dat > output.txt
我无法从 COMP 数据字段中获得人类可读的响应。 这是我的 FD 文件的一部分
05 FAT-TIPOFT PIC 9(4).
05 FAT-DINI PIC 9(8).
05 FAT-DFIN PIC 9(8).
05 FAT-IMPON PIC S9(7)V99 COMP.
05 FAT-INPS PIC 99.
05 FAT-IMPINPS PIC S9(7)V99 COMP.
05 FAT-IVA PIC 99.
这里是一个 ASCII 转换示例:
0107200230062003 ‚p00 20 ³° 6 00 6
转换只适用于 NON-COMP 字段
是否有任何额外的命令或替代实用程序或技术来转换 COMP 字段?
注意我不想进入Cobol世界,我只是想转换数据并摆脱它!
【问题讨论】:
-
不想进入COBOL世界,为什么要使用COBOL标签?在你“转换”它之前,你幻想它是什么编码?该系统是 AcuCOBOL 系统。假设有人是最新的许可证,请联系 Micro Focus 支持。我建议向他们重新提出问题,虽然,因为你付钱给他们,他们会回答,无论你输入什么愚蠢的东西。
-
我还想知道对该问题的支持。没有转换。如果您有同事/朋友为您的问题投票以使其看起来更有趣,那么它没有奏效。这是一些文档:supportline.microfocus.com/documentation/acucorpproducts/docs/…。甚至没有任何暗示有任何编码转换(因为没有)。您最好将问题重写为“这是一个四字节的二进制字段,当 COBOL PICture 指示两位小数时,我如何理解小数部分的表示方式。
-
假设您有一个四字节整数,以您喜欢的任何语言存储在文件中。现在,您的任务是获取该数据,并用它“做某事”以“将其转换为 ASCII”,而不参考创建该记录的原始程序。
-
如果没有其他解决方案,如何将四字节整数转换为 ASCII 将是我的下一个尝试。我只有几张表要转换,我希望我不必为这个临时问题学习如此低级的头痛。
-
这不是希望您不必学习这种低级头痛的问题,而是您将无能为力(您不知道自己在说什么) .如何将二进制值转换为 ASCII?这是一个毫无意义的陈述。 @Bruce Martin 的第三条是您继续进行的唯一合理方式,因为您知道的不够多,也无意发现。你需要用勺子喂,布鲁斯做到了。请不要自行尝试将这些二进制值转换为字符。
标签: cobol