2010-04-09 5 views

답변

2

FOP를 사용하여 향상 요청을 제기하는 것이 좋습니다. 이것이 가장 현실적인 장소입니다.

저는 FOP를 제외한 모든 Java AFP 처리 라이브러리를 알지 못합니다.

+0

장기적으로 가장 좋은 대답 인 것 같습니다. – Roboprog

0

파일의 처음 부분에 하나만 싱글 레코드가 필요한 경우에는 별도로 생성 한 다음 두 파일을 함께 연결하면됩니다. ("가변 블록"/ VB 랩핑없이 "알몸"AFP 레코드라고 가정합니다.)

AFP 레코드의 구조는 다음과 같습니다. 1 바이트 : x5a (확인 바이트); 2 바이트 : 자체를 포함하지만 "5a"바이트는 포함하지 않는 16 비트 길이 표시기. 3 바이트 : 레코드 유형 지시자; 나머지 바이트 : 레코드 특정 데이터.

기록 형 코드는이 문서에 있습니다 여기에

http://afpcinc.org/site/assets/files/1073/ha3l3r04.pdf는 NOP 레코드의 레이아웃입니다 (내 생각 - 그것은 오랜만이야) :

X5a 내지 + (빅 엔디안/네트워크 순서 길이) + xD3 xEE xEE + (EBCDIC) 문자열 데이터

예를 들어, 문자열 "FOO = BAR"(16 진수 [46 4f 4f 3d 42 41 52])을 ASCII로 인코딩하려면 16 진수 [c6 d6 d6 7e c2 c1 d9 ]에서 EBCDIC로) NOP :

문자열 길이가 7이므로 총 길이가 필요합니다. 2 + 3 + 7 = 12 (16 진수의 0C)

그래서 해주기 X5a 내지 + [00 0C] + [D3 EE EE] + [C6 D6의 D6의 7E의 C2의 C1에 D9 마지막

, I 틀린 언어라는 것을 알았지 만 여기서는 꽤 좋은 AFP 파서가 있습니다 : http://metacpan.org/pod/Parse::AFP, NOP 레코드의 필드를 잊어 버린 경우를 대비하여 작업 레코드 레이아웃 정의를 제공합니다. :-(