EBCDIC 에서 ASCII 변환시 문제

land8945의 이미지

UNIX에서 Linux로 전환하고 있는중인데요.

EBCDIC 에서 ASCII 변환시에 Shell에서 제공하고 dd 명령어를 사용하고 있는데

같은 EBCDIC 화일을 가지고 UXIX에서 변환한 결과랑 Linux에서 변환한 결과가 다름니다.

왜 이런 현상이 나타날 까요..

아래 명령어를 사용해서 변환합니다.

dd if= file_name of=file_name.dat conv=ascii

김정균의 이미지

big endian 과 little endian 의 차이가 아닐까요? linux mahcine이 x86 이라는 가정하에..

land8945의 이미지

그 문제도 발생했었는데 해결하였습니다. 답변 감사합니다.

bushi의 이미지

linux coreutils 의 dd 는 POSIX 를 따릅니다.
https://github.com/coreutils/coreutils/blob/master/src/dd.c#L393
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/dd.html
변환테이블을 언뜻 보면 EBCDIC 500(International) 과 비슷한 것 같은데 확인은 해보지 않았습니다.

덧.
linux 로 옮겨오는 중이라면 dd 대신 iconv 를 이용해서 utf8 로 바꾸시는게 좋을 것 같습니다.

land8945의 이미지

고려해 보겠습니다. 답변 감사합니다. 혹시 POSIX에 대해 간단하게 정리된 문서 있을까요?

land8945의 이미지

변환하려고 하는 EDCDIC 화일에 대한 변환 테이블을 정확히 알 수 있는 방법이 없을까요?
Linux에서 iconv로 변환을 시도해 보았지만, 1줄 정도 변환하고 모두 실패 합니다.
iconv -l로 Linux에서 지원하는 포맷을 살펴 보았지만, 변환되는 것은 하나도 없었습니다.

EBCDIC-AT-DE-A,
EBCDIC-AT-DE,
EBCDIC-BE,
EBCDIC-BR,
EBCDIC-CA-FR,
EBCDIC-CP-AR1,
EBCDIC-CP-AR2,
EBCDIC-CP-BE,
EBCDIC-CP-CA,
EBCDIC-CP-CH,
EBCDIC-CP-DK,
EBCDIC-CP-ES,
EBCDIC-CP-FI,
EBCDIC-CP-FR,
EBCDIC-CP-GB,
EBCDIC-CP-GR,
EBCDIC-CP-HE,
EBCDIC-CP-IS,
EBCDIC-CP-IT,
EBCDIC-CP-NL,
EBCDIC-CP-NO,
EBCDIC-CP-ROECE,
EBCDIC-CP-SE,
EBCDIC-CP-TR,
EBCDIC-CP-US,
EBCDIC-CP-WT,
EBCDIC-CP-YU,
EBCDIC-CYRILLIC,
EBCDIC-DK-NO-A,
EBCDIC-DK-NO,
EBCDIC-ES-A,
EBCDIC-ES-S,
EBCDIC-ES,
EBCDIC-FI-SE-A,
EBCDIC-FI-SE,
EBCDIC-FR,
EBCDIC-GREEK,
EBCDIC-INT,
EBCDIC-INT1,
EBCDIC-IS-FRISS,
EBCDIC-IT,
EBCDIC-JP-E,
EBCDIC-JP-KANA,
EBCDIC-PT,
EBCDIC-UK,
EBCDIC-US,
EBCDICATDE,
EBCDICATDEA,
EBCDICCAFR,
EBCDICDKNO,
EBCDICDKNOA,
EBCDICES,
EBCDICESA,
EBCDICESS,
EBCDICFISE,
EBCDICFISEA,
EBCDICFR,
EBCDICISFRISS,
EBCDICIT,
EBCDICPT,
EBCDICUK,
EBCDICUS,

bushi의 이미지

변환테이블 보다는 가지고 계신 파일의 코드를 알아내는게 더 중요할 것 같은데요. 그래야 변환 테이블을 찾던가 말건가하죠.

ebcdic code page 037 은 ibm037, ebcdic code page 500 은 ibm500 으로 등록되어 있습니다.
나열하신 코드명 대부분은 멀티바이트 코드에 해당되는 것 같네요.

Necromancer의 이미지

ASCII가 EBCDIC의 하위 셋트인줄 알았는데 찾아보니 아니었네요. 삭제합니다.

Written By the Black Knight of Destruction