Как вы обрабатываете кодировку EBCDIC CCSID 65535 без iSeries?
Непонятный вопрос, но я знаю, что пользователи SU могут помочь с этим.
У меня есть файл из iSeries, который закодирован как CCSID 65535 (двоичный), что в основном означает, что он закодирован в шестнадцатеричном формате (в EBCDIC). Я хотел бы понять, как работает этот формат, так как кажется, что он произвольно пропускает и выходит из шестнадцатеричной кодировки. Например:
4040404040404040404040F3F040404040404040404040F1 0 04040404040404040404040F8F0F0F3F54040404040F3F4F0404040F3F0F3F8F1F1F7F1F0F8404040404040404040404040404040404040 2009E2D5F9F6F0F0F0F0F0F7 0 04040404040404040404040404040404040404040
Это 40 пробелов EBCDIC, это я знаю, но вы увидите, что в тексте также есть буквальные пробелы. Переходы происходят на нечетных и четных байтовых границах, и в первом разделе с литеральными пробелами "F1 0 040" вы увидите шестнадцатеричный код с кодом "1" ("F1"), несколько литеральных пробелов, литерал "0", некоторые больше пробелов, снова литерал '0' и затем пробел в шестнадцатеричном коде. Срывая мои волосы здесь, кажется, нет логики для этого.
Я подозреваю, что "знание" о формате может храниться в iSeries в отдельном определении, но я не могу найти какую-либо окончательную документацию в Интернете, поэтому я надеюсь, что гуру может знать, как все это сочетается. Любое руководство с благодарностью получено!
2 ответа
Вы проверили эту ссылку: Отбросьте проблемы с преобразованием данных
Ответ состоял в том, что именно определение поля файла является критической частью. Нет средств для декодирования файла без этой информации. Похоже, что для этого нет библиотек.Net, которые я могу легко найти. Я думаю, что трудность в том, что вам нужно:
- преобразовать EBCDIC в ASCII (или, более реалистично, в ANSI или UTF-8)
- декодировать шестнадцатеричные поля (CCSID 65535) в их родной EBCDIC, а затем преобразовывать их
- вам также необходимо обработать 0E (SI) и 0F (SO), которые заключают в себе двухбайтовый EBCDIC, а также необходимо преобразовать соответствующий набор символов назначения (и кодовую страницу)
Достаточно много сделать для того, что кажется непонятным требованием.