2014-09-04 7 views
0

iso 8583 0100 인증 요청을 형식화하는 기존 COBOL 프로그램이 있습니다. 최근에 우리는 트랙 II 데이터가 구분 기호로 인해 유효하지 않다고 들었습니다. 트랙 II 데이터는 PIC X() 필드에 있으며 우리는 = 문자를 D로 대체하기 전에 한 번에 2 바이트의 내장 바이너리를 통해 데이터를 실행합니다.Cobol을 사용하여 신용 카드 트랙 II 데이터 구분 기호 서식 지정

문자가 측면으로 4로 변환된다고 들었습니다. 내 질문은 : = 문자를 대체하기 위해 어떤 문자를 사용해야합니까? 또는 = 문자를 남겨 두지 않습니까?

어떤 안내해 주셔서 감사합니다.

+1

아마도 'iso 8583 0100'에 대한 스펙이 있습니까? "이진 내장 (binary intrinsic)"이란 무엇입니까? 코드를 게시하면 어떤 일이 발생했는지 알 수 있습니다. 하류 처리가 무엇인지 알지 못하면 누구에게나 도달 할 수 있습니다. 'D' ix X'C4 '는 어떤 일이 발생했는지에 따라 쉽게'4 '가 될 수 있습니다. –

답변

2

트랙 2 데이터는 패리티가있는 2 진 코드화 된 10 진수로 신용 카드에 저장되며 다른 가능한 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

잘 맞는 샷처럼 보입니다. –