Вопрос

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

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

Ваше здоровье

Отметка

Это было полезно?

Решение

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

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

  • печально известный "режим ASCII" FTP, который испортил многие загрузки двоичных файлов
  • файловая система vfat в Linux, которая отмечает:"Программам, которые выполняют вычисляемые lseeks, не понравится преобразование текста в ядре.Несколько человек испортили свои данные из-за этого перевода.Берегись!"

Поэтому я бы настоятельно советовал осознавать последствия.

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

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top