17

.XFDLファイル拡張子は、フォーマット済みドキュメント ファイルを識別しXFDLます。これらは、XML ベースのドキュメントとテンプレートのフォーマット標準に属しています。この形式は XML ファイル形式とまったく同じですが、安全な通信で使用するためのレベルの暗号化が含まれています。

ここで見つけたファイル ビューアーを使用して XFDL ファイルを表示する方法を知っています。File:Save/Save As を実行して、これらのファイルを変更して保存することもできます。ただし、これらのファイルをその場で変更したいと思います。助言がありますか?これは可能ですか?

更新 #1: を正常にデコード.xfdlして XML ファイルに解凍し、後で編集できるようにしました。現在、変更された XML ファイルを base64-gzip に再エンコードする方法を探しています (Ruby またはコマンド ラインを使用)。

4

3 に答える 3

5

エンコーディングがbase64の場合、これは私がWeb上で見つけた解決策です:

「'encoding=base64' で保存された XDFL ファイルをデコードしています。保存されたファイル:

application/vnd.xfdl;content-encoding="base64-gzip"

base64 でエンコードされた単純な gzip ファイルです。最初にデコードしてから解凍することで、XML に簡単に復元できます。これは、Ubuntu では次のように実行できます。

sudo apt-get install uudeview
uudeview -i yourform.xfdl
gunzip -S "" < UNKNOWN.001 > yourform-unpacked.xfdl 

最初のコマンドは、base64 などをデコードできるパッケージである uudeview をインストールします。インストールが完了したら、この手順をスキップできます。

フォームが「yourform.xfdl」として保存されていると仮定すると、xfdl ファイルにはファイル名が含まれていないため、uudeview コマンドはコンテンツを「UNKNOWN.001」としてデコードします。「-i」オプションは uudeview を非対話的にします。より詳細に制御するには、そのオプションを削除してください。

最後のコマンドは、デコードされたファイルを「yourform-unpacked.xfdl」という名前のファイルに gunzip します。

別の可能な解決策 -ここ

補足: < code > で引用されたブロックは、長いコード文字列では機能しません

于 2008-08-04T22:02:35.180 に答える
2

私が今思いつく唯一の答えは、uudeview のマニュアルを読むことです。

私はあなたを助けたいと思っていますが、私はこの分野の専門家ではないので、もっと知識のある人がここに来て助けてくれるのを待つ必要があります.

それまでの間、あなたに役立ついくつかのドキュメントへのリンクを提供できます。

これが役に立たない場合は申し訳ありません。

于 2008-08-04T22:18:47.987 に答える
1

これを行うために Ruby から出る必要はありません。Ruby の Base64 モジュールを使用して、次のようにドキュメントをエンコードできます。

irb(main):005:0> require 'base64'
=> true

irb(main):007:0> Base64.encode64("Hello World")
=> "SGVsbG8gV29ybGQ=\n"

irb(main):008:0> Base64.decode64("SGVsbG8gV29ybGQ=\n")
=> "Hello World"

Kernel#system を使用して gzip/gunzip を呼び出すことができます。

system("gzip foo.something")
system("gunzip foo.something.gz")
于 2008-08-06T13:37:41.657 に答える