2014-09-04 59 views
0

我們有一個傳統的COBOL程序來格式化ISO 8583 0100授權請求。最近我們被告知第二軌數據由於分離器而無效。跟蹤II數據位於PIC X()字段中,我們只需在用一個二進制固有2個字節運行數據之前將字符D替換爲=。使用Cobol格式化信用卡跟蹤II數據分隔符

我們被告知角色正在轉換爲4。我的問題是:我們應該用什麼字符來替換=字符?或者我們離開這個=字符?

感謝您的任何指導。

+1

大概有一個「ISO 8583 0100」的規格?什麼是「二元本質」?如果您發佈代碼,我們可以看到發生了什麼。在不知道下游處理是什麼的情況下,這是任何人都可以得到的。 'D' ix X'C4'可能很容易成爲'4',具體取決於發生了什麼事情,哪些是你沒有告訴我們的。 – 2014-09-04 07:12:39

回答

2

跟蹤2數據作爲帶奇偶校驗的二進制編碼十進制存儲在信用卡中,其他可能的二進制值用於控制。

Hex ASCII Meaning 
0  0 0 
1  1 1 
2  2 2 
3  3 3 
4  4 4 
5  5 5 
6  6 6 
7  7 7 
8  8 8 
9  9 9 
A  : (not used) 
B  ; Start Sentinel 
C  < (not used) 
D  = Field Separator 
E  > (not used) 
F  ? End Sentinel 

我有一種感覺,「二進制內在」簡直是ASCII轉換爲BCD,而如果您使用的是標準的ASCII字符,你會得到你想要的東西,因爲=是0x3D之間的ASCII,如果你剝離你留下的第一個半字節0xD。

+0

看起來像一個很有理由的鏡頭。 – 2014-09-05 06:50:46