sshfs EBCDIC в ASCII - PullRequest
       35

sshfs EBCDIC в ASCII

2 голосов
/ 03 апреля 2009

я хочу смонтировать через sshfs некоторые файлы на мэйнфрейме через USS на моем локальном ПК. Я могу это сделать, но sshfs не выполняет преобразование из EBCDIC в ascii / unicode. Есть ли какие-либо флаги, которые я могу установить.

Альтернативно, кто-нибудь знает библиотеку, которая выполняет преобразования EBCDIC в ASCII, чтобы я мог добавить в SSHFS?

Приветствия

Mark

Ответы [ 3 ]

4 голосов
/ 03 апреля 2009

Имейте в виду, что прозрачное преобразование кодировки - очень опасная игра. Вы абсолютно уверены, что никогда никогда не будете читать ничего, кроме файлов EBCDIC через SSHFS? Что делать, если есть двоичные данные?

Некоторые системы в прошлом использовали прозрачные преобразования:

  • печально известный «режим ASCII» FTP, который испортил много бинарных загрузок
  • файловая система vfat в Linux, которая отмечает: «Программам, выполняющим вычисления lseeks, не понравится преобразование текста в ядре. Этим переводом уничтожили несколько человек.

Так что я настоятельно советую знать о последствиях.

Почему бы не использовать редактор, который может обрабатывать EBCDIC? Например, Vim может сделать это (если он скомпилирован в).

1 голос
/ 23 августа 2015

Я знаю, что прошло много времени с момента первоначального вопроса, но я оставлю информацию здесь:
Я написал патч для sshfs, который добавляет автоматическое преобразование между ASCII и EBCDIC. Его можно найти здесь: https://github.com/vadimshchukin/sshfs-ebcdic

Патч добавляет параметр командной строки "-t", который определяет регулярное выражение для файлов, которые должны быть преобразованы. Например sshfs -t".*" определяет преобразование для всех файлов.

Мне пришлось «жестко закодировать» таблицу преобразования, поскольку существуют различные «разновидности» EBCDIC, и iconv не переводил текст между ASCII как EBCDIC в моей системе по мере необходимости. Преимущество в том, что кто-то может легко изменить эту таблицу перевода по мере необходимости.

Кстати, я написал тот же патч для win-sshfs.

1 голос
/ 03 апреля 2009

Существует несколько библиотек для преобразования набора символов - на ум приходят iconv (обычно это часть вашей библиотеки C; см., Например, iconv_open) и GNU recode .

...