2009-04-03 13 views
2

私がしたいことは、ローカルPCのUSS経由でメインフレーム上のいくつかのファイルをsshfs経由でマウントできるようにすることです。私はそれを行うことができますが、sshfs doesntはEBCDICからascii/unicodeへの変換をまっすぐに行いません。私が設定できるフラグはありますか?sshfs EBCDIC to ASCII

他にも、EBCDICからASCIIへの変換を行うライブラリを知っている人は誰でもSSHFSに追加できますか?

乾杯

マーク

+2

o_O EBCDICはまだ使用されていますか?ヒューズ/ sshfs以上?うわー... –

+0

@Brian、EBCDICはまだSystem z(大きなhonkin 'IBMメインフレーム)で使用されていて、まだ*ロット*で使用されています。また、USSはEBCDICを使用するUNIX for zです(zipファイルはASCIIを仮定しているためコンパイルできません)。zLinuxはメインフレーム上で動作するRHEL/SLESの方法です(テストで10,000インスタンス)。 – paxdiablo

答えて

4

透明文字セット変換は非常に危険なゲームですが、注意してください。 決しては、SSHFS経由でEBCDICファイル以外のものを読むことは絶対に確実ですか?バイナリデータがあればどうなりますか?

一部のシステムでは、過去に透明変換を使用:

  • 多くのバイナリダウンロードをめちゃめちゃにFTPの悪名高い「ASCIIモード」、
  • ノートLinuxでは、中にVFATファイルシステム:「やるプログラム計算されたlseeksは、カーネル内のテキスト変換が気に入らないでしょう。いくつかの人々は、この翻訳によってデータを破壊しました。

私はその結果を知っておくことを強く推奨します。

なぜEBCDICを処理できるエディタを使用しないのですか?例えばVim。それができます(コンパイルされている場合)。

1

文字セット変換のためのいくつかのライブラリがある - のiconv(あなたのCライブラリの正常部と、たとえばiconv_openを参照のこと)とGNU recode気にしていますが。

1

元の質問から多くの時間が経過したことを知っていますが、私はここに情報を残しておきます:
私はASCIIとEBCDICの間の自動変換を追加するsshfsのパッチを書いています。 https://github.com/vadimshchukin/sshfs-ebcdic

パッチには、変換するファイルの正規表現を定義する "-t"コマンドラインオプションが追加されています。たとえば、sshfs -t".*" はすべてのファイルの変換を定義します。

EBCDICにはさまざまな "味"があり、iconvは必要に応じて自分のシステム上のEBCDICとしてASCII間のテキストを翻訳しなかったので、変換テーブルを "ハードコード"する必要がありました。ここでの利点は、誰かが必要に応じて簡単にその変換テーブルを変更できることです。

ところで、私はwin-sshfsのために同じパッチを書いています。