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

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.