- ベストアンサー
秀丸とノートパッドの互換性 「改行」の謎
改行がいくつも入った30行ほどのテキストファイルをホストからローカルへFFFTPでダウンロードしたとします。 そしてすぐさまダウンロードしたテキストファイルをノートパッドで開くと、黒い四角が改行の箇所に必ず入っていることに気がつきます。 そこで、今度はそのダウンロードしたテキストファイルを秀丸で開きます。そして少し文字をどこでもいいので書き足して、更新保存します。 さらに今度はその更新したばかりのテキストファイルをノートパッドで開きます。すると先ほど見えていた黒い四角が全く消えている状態になります。 そこで改めてホストにアップロードします。一番初めの黒い四角が消えているので、改行情報?は無視?されてぐちゃぐちゃになります。(掲示板の過去ログデータなので、掲示板の仕様からいってテキストファイルの改行コードに何らかの異変が生じるようです。) そこで質問をまとめますと、 1、まず秀丸が何らかの変換を行っているというのは推測できるのですが、何を変換しているのでしょうか。 2、ノートパッドを開いた際の「黒い四角」の正体は何なのでしょうか。秀丸で一度更新すると消えてしまう謎の「黒い四角」です。 宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
普通に考えれば#1と#3が正解ですが、それだと、次の一文の説明がつきません。 > そこで改めてホストにアップロードします。一番初めの黒い四角が消えているので、改行情報?は無視?されてぐちゃぐちゃになります。 UNIX(LF)からノットパッド(CRLF)にバイナリー転送で持ってきた場合は、改行が黒四角に化け、改行が消えてしまうので全体が1行になります。 逆にノットパッドからUNIXにバイナリー転送で持っていった場合は、行末に余計な文字がつきますが、cat等では見えません。viで開くと各行の行末に^Mの2文字が見えます。余計な文字がつくだけで、改行自体は正しく認識されるので、「ぐちゃぐちゃ」という表現にはならないと思います。 従って、黒四角の正体はLFでは、不明です。何れにせよ、FTPのテキストモードで転送すれば問題は解決する筈です。
その他の回答 (3)
- toysmith
- ベストアンサー率37% (570/1525)
答えが2種類でちゃってるので老婆心ながら。 #1が正解です。 ffftpでテキストモード(ASCIIモード)でダウンロードしてみてください。 クライアント/サーバー間で整合性をとったダウンロードをしてくれます。
お礼
ありがとうございます。 おっしゃられるとおりで、テキストモードとバイナリモードの違いはかなり大きいということがよくわかりました。 ただ、今、自分自身色々試行錯誤しているんですが、 どうもまだ答えがみつかりません。 ただ、今回はひとまずこの質問は終了したいと思います。 ありがとうございました。
- PAPA0427
- ベストアンサー率22% (559/2488)
たぶん、ダウンロードされてのはUNIX系のサーバーではないですか? 改行コードはUNIX系のテキストだと、「CR+LF」となっていて、MS-DOS系は「CR」のみです。秀丸はこの変換を認識して変化してくれてます。 ノートパッドで開いたときはこの処理が行われませんので、「LF」コードが黒丸で表示されてしまいます。
OSによる改行コードの違いが原因です。 Windowsでは改行コードはCRLFの2文字(13,10)ですが、UNIX系OSでは、LF(10)、MacOSではCR(13)です。 > 1、まず秀丸が何らかの変換を行っているというのは推測できるのですが、何を変換しているのでしょうか。 変換しているのではなく、秀丸では前述のLFが「読める」ということです。 > 2、ノートパッドを開いた際の「黒い四角」の正体は何なのでしょうか。秀丸で一度更新すると消えてしまう謎の「黒い四角」です。 認識できない文字コードということです。 NotepadではCRLFは読めるが、LFは読めない、ということです。 存在しない外字や、「文字化け」と同じことです。
お礼
ありがとうございます。 おっしゃられるとおりで、テキストモードとバイナリモードの違いはかなり大きいということがよくわかりました。 ただ、今、自分自身色々試行錯誤しているんですが、 どうもまだ答えがみつかりません。 ただ、今回はひとまずこの質問は終了したいと思います。 ありがとうございました。
お礼
ありがとうございます。 おっしゃられるとおりで、テキストモードとバイナリモードの違いはかなり大きいということがよくわかりました。 ただ、今、自分自身色々試行錯誤しているんですが、 どうもまだ答えがみつかりません。 ただ、今回はひとまずこの質問は終了したいと思います。 ありがとうございました。