我已經使用了下面鏈接中提供的解壓縮數據邏輯,用于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
提交
取消