Comp-3 格式
value comp-3 (hex)
123 x'123c'
-123 x'123d'
Run Code Online (Sandbox Code Playgroud)
有很多现有的问题https://stackoverflow.com/search?q=%22comp-3%22+cobol
如果这是一个大型机文件并已转换为 ASCII;它将无法使用!!!。COBOL COMP-3 数字格式问题中的第二个答案给出了在进行 ascii 转换时 Comp-3 损坏的一个很好的例子。
如果是来自大型机,你面临的问题:
最好的选择是在大型机/Cobol 上进行转换并传输文本文件。
或者有像coboltocsv这样的项目,它会使用 Cobol Copybook 将 Cobol 文件转换为 Csv。
至于转换 comp-3 是很容易的。有2种方法
将十六进制转换为十六进制字符串(即转换 x'123c' --> "123C)并检查最后一个符号字符。参见Java 中的 COMP-3 数据解包(嵌入 Pentaho)
把这个领域分成一系列的 nybles