2

FTPS接続を使用してテキスト ファイル [このファイルには EDI (Electronic Data Interchange) 情報が含まれます]をメールボックス INOVIS に送信しています。FTPS 接続を開くようにシステムを構成し、PUT コマンドを使用してファイルをFTP サーバー上のフォルダー。問題は、どのファイル転送モードを使用すればよいかということです。モードを切り替えるにはどうすればよいですか?

さらに、FTPS 接続を介してファイルを転送するときに使用する「ベスト プラクティス」のモードはどれですか。誰かが私に小さな ftp スクリプトを提供してくれるなら、それは役に立ちます。

4

7 に答える 7

4

この質問に対する他の回答の多くは、ほぼ正しい情報からまったく間違った情報までを集めたものです。

ASCII モードは、ネットワーク上でファイルを正規のテキスト形式に変換する必要があることを意味します。特に、これは次のことを意味します。

  • NVT-ASCII 文字セット。元のファイルが ASCII、EBCDIC、UTF-8 などの他の文字セットであっても。技術的には、これは 8 番目のビットが設定された文字を許可しませんが、ほとんどの実装ではこれを強制しません。
  • CRLF 行末。

EBCDIC モードは、通信上のデータが EBCDIC でなければならないことを除いて、同様の一連の規則を意味します。

LOCAL モードでは、1 バイトあたり 8 ビット以外のサイズのデータ​​を送信できます。

IMAGE (または BINARY) モードは、データを変更せずに送信する必要があることを意味します。データが到着したら、ターゲット システムがそのデータを理解できるようにするのは、ユーザーの責任です。

とりわけ、これは、関係するシステムのいずれかが ASCII ベースの文字セットを使用しない場合、BINARY モードを使用してテキスト データを送信するという推奨事項が失敗することを意味します。

于 2008-10-24T20:24:21.863 に答える
1

ASCII モードは、UNIX と DOS フォーマットの間で改行文字を変更します。\n から \r\n へ、またはその逆。

于 2008-09-17T09:41:18.010 に答える
1

実は8ビット目はASCII/BINARYとは関係ありません。これは、行末を翻訳するための規則です。

Unix FTP サーバー (FTPS か FTP かは関係ありません - プロトコルは同じです) と通信している Windows マシンを使用している場合、サーバーは <CR><LF> の組み合わせを <LF> に置き換えてから、 unix サーバーからファイルを取得した場合に備えて、逆に変換を行います。

ASCII モードの背後にある考え方は、行末をターゲット プラットフォームのそれぞれの末尾に変換することです。

今日の世界は UNIX の慣例 (<LF>) に収束しているように見え、今日のエディター (メモ帳を除く) のほぼすべてが Unix-Line-Endings を簡単に処理できるようになっているため、ASCII モードの時代は確かに番号が付けられており、私はそうするでしょう。必ず BINARY 転送モードを使用することをお勧めします。

転送中にデータが変更される可能性は、とにかく恐ろしいものです。

于 2008-09-17T09:42:41.687 に答える
0

また、ASCII モードでは、エンド ユーザーがさまざまなプラットフォーム間でテキスト ファイルをより簡単に共有できるようになります。デフォルトの行末について心配する必要はありません (たとえば、cr/lf と lf だけ) は、ASCII モードがオンザフライでその変換を行うためです。

ただし、ほとんどのファイル タイプでは、常に BINARY モードを使用する必要があります。

于 2008-09-17T09:39:05.003 に答える
0

ACSII モードでは、サーバーとクライアントのプラットフォーム (CR/LF と LF) に基づいて UNIX と Windows の形式間でテキスト ファイルが変換されますが、バイナリでは変換されません。もちろん、テキスト以外のほとんどのものを ASCII モードで転送すると、おそらくそのために破損するでしょう。

于 2008-09-17T09:42:05.933 に答える
-1

正確なコピーが必要な場合は、データをバイナリ モードで使用します。ASCII モードを使用すると、データが 7 ビット テキスト (文字 0 ~ 127) であると想定され、この範囲外のデータは切り捨てられます。asciiモードで時間を節約できる難解な7ビットネットワーキングの時代にまでさかのぼります。

私たちが住んでいるグローバル化された環境では、たとえば外国語や通貨記号など、ASCII 以外の文字がよく使われていますが、常に BINARY モードを使用する必要があります。

于 2008-09-17T09:37:04.383 に答える
-3

FTP プロトコルの場合、ASCII 転送モードは各文字の 8 番目のビットを意味のないものと見なし、エラー チェックに使用します。バイナリ転送モードの場合、データはそのまま送信されます。バイナリ データを ASCII モードで送信すると、(ほとんど) 常にデータが破損することに注意してください。ただし、送信システムと受信システムが同じように 8 番目のビットを使用する限り、バイナリ モードでの ASCII データの転送は機能します (最新のシステムでは、拡張 ASCII 文字セットとの衝突を防ぐために 8 番目のビットは 0 のままにする必要があります)。

于 2008-09-17T09:45:47.750 に答える