我已经使用了下面链接中提供的解压缩数据逻辑,用于java如何使用Java解压缩COMP-3数字?但是对于源代码中的空数据,它会返回404040404就像在Java解包代码上一样。我知道这是ebcdic中的空间,但如何通过处理这个空间来解压缩或避免它。
1 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
我们必须处理两个问题。首先,数据是有效的comp-3数据,其次,是自提到Comp-3以来,较旧的语言实现(如COBOL)认为“有效”的数据。
如果 offest 没有错位,那么现有程序似乎将空间解释为 0 而不是空格。这是不正确的,但可能是旧程序的产物,这些程序被设计为容忍这种不良行为。
我在传统商店中采取的方法是将“空间”(0x404040404040序列)视为零。这将是一个旧检查,用于将字段与空格进行比较,然后假设0x00000000000f为实际的默认值。这是单个商店必须确定的事情,并且不被认为是一种通用的编程方法。
就Java而言,必须记住字节是“签名”的,因此根据代码的编写方式进行比较可能会很棘手。我记得Java中唯一的“无符号”数据类型是char,它基本上是两个字节(单元16)。
这与其说是编程问题,不如说是识别历史容忍和补救。
添加回答
举报
0/150
提交
取消