• ベストアンサー

改行コード2種類を混在させたい

昨日秀丸の改行について質問したものです。 謎が自分なりに解けたので、再度一点質問させてください。 改行コードCRと改行コードLFを混在させたいと思っています。 ノートパッドで混在したデータをWindowsで開くと、 LFが上向きの「↑」になり、 CRが「■」(黒い四角、実際はもう少し幅が狭いです) になるようだと試行錯誤の結果つきとめました。 そこでこの「二種類の改行コードが混在したファイルを自在に作成できるようにしたい」と思っています。 そこで質問を3点にまとめます。 1、ノートパッド上では、その二種類が混在することは可能だとわかりましたが、秀丸では無理なのでしょうか。 2、改行コードはテキストエディタの編集の場合、文字で表現できないのでしょうか? \nというのは改行コードを意味しないのでしょうか。 これで自在に改行コードを文字で表現できれば混在も可能かと思います。 3、少し話しはそれますが、EUCとShift-JISの文字コードはやはり、Shift-JISじゃないと、サーバーにアップしても日本語は文字化けすると思うのですが、どうでしょうか。 宜しくお願い致します。

  • shevy
  • お礼率67% (703/1046)

質問者が選んだベストアンサー

  • ベストアンサー
  • nagare
  • ベストアンサー率33% (280/831)
回答No.5

アスキーコード表を見てくださいね http://hp.vector.co.jp/authors/VA008536/data/ascii.html >つまり、0Dが、LFだということでしょうか。 >そして、0AがFSではないかという推測です。 ODはCR OAはLF です だから 記事1:data1 LF data2 LF CR 記事2:data1 LF data2 LF となります (記事間の CR はロジックで決めてると思うのですが) >バイナリエディタについて私なりに調べてみましたが、使>いやすいバイナリエディタ、またバイナリエディタによる>改行コードの変更方法を教えていただけないでしょうか。 Stirling http://www.vector.co.jp/soft/win95/util/se079072.html 使いやすいですよ >従って、バイナリエディタをうまく使えば、 >FS,CR,LF,CR+LF >も自在に混在したテキストファイルが作成できるのではな>いかという推測が経ちましたが、 >間違っていたら容赦なくご指摘願えますでしょうか。 テキストエディタにもよるんですけど、 秀丸は制御コードの入力できます よくやるのがCL(改ページ)ですね (CR,LFは無理、CRLFは可能)

shevy
質問者

お礼

nagareさん、ありがとうございます。 わかりました! Stirlingすごいですね!! バイナリエディタでコードを操れば改行コードも思いのままで掲示板のログデータの改変も可能になりました。 凄く勉強になりました。 一点、恐縮ながら、訂正があるのですが、 記事1:data1 LF data2 LF CR 記事2:data1 LF data2 LF ではなく、 記事1:data1 CR data2 CR LF 記事2:data1 CR data2 CR でした。 CRが0Dで、LFが0Aなので。 なぜ、CRの改行が生じているのか、いまだに疑問は晴れませんが、ロジックというのは、私のCGIのスクリプトに何か問題があるはずだと推測も立つのですが、 その詳細はもっと勉強する必要がありそうです。 今回は本当に勉強になりました。 ご丁寧にありがとうございました。

shevy
質問者

補足

すみません。締め切るのを忘れておりました。 改めて御礼申し上げます。

その他の回答 (4)

  • nagare
  • ベストアンサー率33% (280/831)
回答No.4

はいはい わかりました 記事1:data1 CR data2 CR LF 記事2:data1 CR data2 CR というデータ構成ですね それで”なんでCRで改行してんねん”ですね 勘違いしてませんか? >LFが上向きの「↑」になり、CRが「■」 実験しましたところ LFもCRも「■」(黒い四角、実際はもう少し幅が狭いです) になりました さらに、#3さんの回答から 記事1:data1 LF data2 LF FS 記事2:data1 LF data2 LF だと思われます 一度、log.datファイルを テキストエディタ ではなく バイナリエディタ で見ることをお勧めします >秀丸の場合、改行コードを文字で表現するにはどうすればいいのでしょうか。 CRLFじゃなくてCRとLFを表示した場合ですか? やってみましたら両方とも ↓ が表示されました

shevy
質問者

お礼

nagareさん、ありがとうございます。 おっしゃられるとおりで、 記事1:data1 LF data2 LF FS 記事2:data1 LF data2 LF が正解だと思われます。やはりUNIX上の改行であって、CRになる可能性はないでしょうし、 その、FSという存在があるのでしたら、上記のnagareさんが回答してくださった仕組みに間違いありません。 そこでバイナリエディタというものがあることすら知らなかったのですが、早速調べてみました。 狐'sバイナリエディタというのを、 以下のサイトで見つけたので、 http://www.vector.co.jp/soft/dl/win95/util/se032901.html 早速ダウンロードして、問題のdatファイルを開いてみました。 すると、 記事と記事の間の改行は、 0A (ゼロとA です) というコードであらわされていることに気がつきました。 そして、問題の記事内の改行(おそらくLF)は、 0D (ゼロとD です) というコードであらわされていました。 コード表記(アスキーコード?)の読み方がわからないのですが、 つまり、0Dが、LFだということでしょうか。 そして、0AがFSではないかという推測です。 バイナリエディタについて私なりに調べてみましたが、使いやすいバイナリエディタ、またバイナリエディタによる改行コードの変更方法を教えていただけないでしょうか。

  • furlong
  • ベストアンサー率50% (17/34)
回答No.3

昨日の質問に対する回答です。状況が分かったので、今度は確実な回答です。 「↑」の正体はFS(0x1c)です。これは直截に改行という意味ではなく、ファイルの区切りという意味です。もし、他の方向の矢印が出てきたら、GS、RS、USです。 「■」の正体はLF(0x10)です。これはUNIX系の改行です。CR+LFと続く場合は、2文字が合わさって、Windows系の改行として認識されます。この場合のLFは「■」になりません。 私は秀丸を使ったことがないので本日の質問には答えられませんが、以上が他の解答者の参考になれば幸いです。

shevy
質問者

お礼

furlongさん、ありがとうございます。 先日はお世話になりました。 FSについて私は存在すら知りませんでした。 ファイルの区切りを表すコードがあるということは 知りませんでした。 問題のlog.datファイルをバイナリエディタで確認しましたところ、 LFと思しき改行コードはバイナリエディタで、 0D (ゼロD) とあらわされていました。 また、 FSと思しきコードは、バイナリエディタで、 0A とあらわされていました。 従って、バイナリエディタをうまく使えば、 FS,CR,LF,CR+LF も自在に混在したテキストファイルが作成できるのではないかという推測が経ちましたが、 間違っていたら容赦なくご指摘願えますでしょうか。 また、お薦めの編集しやすいバイナリエディタがありましたらお知らせいただけたら幸いです。

  • nagare
  • ベストアンサー率33% (280/831)
回答No.2

うーーん 質問の意味が・・・ 復習 "Windowsでは改行コードはCRLFの2文字(13,10) UNIX系では、LF(10) MacOSではCR(13) " それで >改行コードCRと改行コードLFを混在させたいと思っています。 どのOSの話をしてます? 秀丸の話がでているので、Windowsですよね ということはWindowsでは改行コードはCRLFの2文字(13,10)なので、混在してます が答え でも >ノートパッドで混在したデータをWindowsで開くと、 LFが上向きの「↑」になり、 CRが「■」(黒い四角、実際はもう少し幅が狭いです) から 「CRとCFをノートパッドで開いたら」ですよね 質問1 可能です 質問2 C言語の話をしてます? Windows上でテキストエディタの話をしているなら CRCLです テキストエディタ毎に”改行コードの表示方法”はまちまちです 質問3 FTPで転送するときに”EUC←→Shift-JIS”文字変換にすればOKです ★EUCなのにブラウザがShift-JIS表示になっていたらバケるけどね★

shevy
質問者

お礼

ありがとうございます。 やはり質問としてはちょっと不明瞭になってしまいました・・私自身実際にまだ悩んでいるので、このようになってしまいました。分かりにくくて申し訳ございません。 どのOSでの話なのかということですが、 実は、まずCRとLFの混在が推測できた理由は、 サーバ上において掲示板のCGIにおいて作成されたログが格納されているdatファイルの中身が、まさにCRとLFが混在されていたからです。 これでもまだちょっと不明瞭な説明になっているので、もっと詳しく書きます。 まず私の作成した掲示板CGIプログラムは投稿される記事をlog.datの中の最終行にどんどん追加していきます。記事と記事の境目には必ず改行が入ります。 その際、一行で一つの記事という仕組みになっています。(ちなみにこの掲示板はFlash掲示板なので、記事内の「改行」を<br>というタグに変換する処理は加えていません。) そこで、あえて投稿する記事に改行を加えてみたところ、特に問題なく改行も反映されて表示されました。この段階で不思議だったのは、なぜ「記事内の改行」が「記事と記事の間に必ず入る改行」と混同されなかったかということでした。 そこで改行コードが別のものとして判別されているのではないかという推測が浮かび、案の定、 log.datファイルをWindowsのノートパッドで開くと、記事と記事の間の改行箇所には、上向きの「↑」で、 記事内の改行の箇所には、「■」が、 表示されていました。 そこで・・、 どうやら掲示板のプログラムの記事の改行は、LFではなく、CRで行われている?ようだと推測しました。 ですが、マックOSがCRなので、確かにおかしい気がしています。 秀丸の場合、改行コードを文字で表現するにはどうすればいいのでしょうか。

noname#6493
noname#6493
回答No.1

3だけ。 それは転送の仕方とブラウザの設定次第です。

関連するQ&A

  • 【unix】nkfで文字コードを変えずに改行コードを変えたい

    unix(BSD)初心者です。 PHP経由でunixを操作、ファイルの加工をしております。 nkfコマンドにてLF改行をCR+LF改行にしたいのですが、 ・文字コードは無変化で改行コードだけ変える などということはできるのでしょうか? いろいろな文字コードのファイルが混在している場合に文字コードはそのまま保ちつつ改行コードはCR+LFに統一したいのです。 お詳しい方よろしくお願いします。

  • PHPの文字コードどのように設定すればいいですか?

    PHPをテキストエディタ(TeraPad)で、書こうとしているのですが、文字コードの設定がわかりません。 初期文字コード SHIFT-JIS JIS EUC Unicode UTF-8 UTF-8N いろいろあってどれを選んだらいいのかわかりません。 今はSHIFT-JISにしてます。 保存文字コード 自動 今は自動にしてます。 初期改行コード CR+LF 今はCR+LFにしてます。 保存コード 自動 今は自動にしてます 間違っている、又はこちらのほうがいいというのがありましたら是非教えてください。よろしくお願いします。

    • ベストアンサー
    • PHP
  • 改行コード変換

    先に「chompの使い方」で質問したものです。 文字コードを調べたところ、改行が「^M」で表示されていました。 テキスト文書ファイルもCGIプログラムも文字コードはEUCにしてありますし、改行コードもLFにしているんですが、フォームで入力される改行コードはCR+LFになっているようです。 これはどうやって制御すれば(全ての改行をLFにする)よいのでしょうか? ご教示いただけるとうれしいです。よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • 改行コードについて

    改行コードがよく解らないので説明お願いします 様々なサイトの改行コードの説明で LinuxはLF MacはCR WindowsはCRLFと説明しています 私の認識では LF=\n CR=\r CRLF=\r\n だと思っていました ここで疑問なのですが 確かに私の利用した環境ではLinuxの改行コードは\n, Windwosの改行コードは\r\nでした ところがMacの標準のメモ帳(テキストエディット)で文字を入力しても改行コードは\nです 確認方法は od -cというコマンドとfileというコマンドです これはつまりCRではなくLFということですよね? では、なぜ多くのサイトではMacはCRと説明しているのでしょうか? そもそもCR=\rという認識が間違ってるのでしょうか? よろしくお願いします

  • 改行コード

    Sn Uploaderと言う所でupload.cgiを 落としたのですがエラーが出ます。 多分改行コードが原因だと思うのですが、 upload.cgiの改行コードをLFにする仕方が分かりません。 windowsの場合は秀丸エディタでファイル→エンコードの種類 改行=LFにすれば良いのは分かりますが、 Linuxでは如何すれば良いのでしょうか? 全くの素人ですが宜しくお願いします。

  • Vimで改行コード、文字コードを指定して保存するには

    初歩的な質問です・・・。 操作を覚えたいため、WindowsでVimをはじめました。 Vimで文字コードを指定して保存する操作はできたのですが([ファイル]-[エンコード指定]-[保存]-[(指定の文字コード)])、 改行コードを指定して保存する方法がわかりませんでした・・・。 例えば、Shift-Jis,CR+LFのテキストをVimで開いて、文字を挿入した(編集した)あとに、UTF-8,LFで保存したいのですが・・・。 [ずんwiki - vim] http://www.kawaz.jp/pukiwiki/?vim#of617c72 を、今 参考にしているのですが、よくわかりません・・・。 よろしければ、教えてください。

  • 改行コードについて

    こんにちは。 私はFedoraCore3を使用しています。 SSH接続でPoderosaを使いはじめてかなり経つのですが サーバーを立ててからずっと改行コードをCRでやっていました。 で、最近Linuxの改行コードはLFという事を知りました。 今の所、CRでやっていて 改行されなかったりする事もなく特に異常は ないのですがこのままCRでやってても問題ないのでしょうか? それとも、これからはLFでやったほうがいいですか? もう一つなんですがこの改行コードというのは viで編集しているの時は関係ないのですか? (今まで異常がないため) よろしくお願いします。

  • 秀丸で改行コード"[CR]"を変換する方法は?

    秀丸で改行コード"[CR]"を変換する方法は? "[CR]"が入っているテキストファイルがあり、 このテキストファイルを秀丸で開いたところ、そのまま"[CR]"と表示されてしまいます。 これは改行コードなので、秀丸内で"[CR]"と表示されずにきちんと改行されるようにしたいのですが、 どうすれば良いでしょう。 ちなみに置換で 置換前に"[CR]" 置換後に"¥n"、正規表現にチェックを入れて置換したところ、 CRだけが改行に置き換わり"[]"だけが文中に残ってしまいました。 よろしくお願いいたします。

  • Windowsでの改行コード

    HTMLを書くのにあたりUNIXサーバが主流なのだから、 UTF-8、改行コードはLFで行うことを勧められました。 Windowsの改行コードはCR LFだそうですが、 LFにした場合、Windows上でJAVAScriptなどのテストをしたときに 何か不都合があるのでしょうか。 改行コードが CR LF でUNIX上でトラブルになった事例は見つけました。 反対のことが良く分かっていません。よろしくお願いします。

  • VB6のテキスト処理 さまざまな文字コード/改行で対応

    VB6のテキスト処理で、Open InputとLine inputを使った場合に 文字コード/改行コードが SJIS/CRLFの時は正しく1行を読み込む事ができますが、改行がLFの時は正しく1行を読み取りません。 改行コードがLFもしくはCRの場合でも正しく1行を読み取る方法はあるのでしょうか? また、文字コードに関してもEUCやUTF-8,JISでも対応できる方法がありましたら教えて下さい。

専門家に質問してみよう