- ベストアンサー
linuxとWindows間の文字コードについて
- linuxで作成したdatファイルがWindowsで確認すると改行がない問題が発生。文字コードの違いが原因か。
- gfortranを使用してdatファイルに書き込んでいるが、文字コードの影響で改行がなくなる可能性がある。
- Windows主体で計算から結果編集まで行いたいが、高性能なパソコンはlinuxしかないため、計算結果をWindowsで編集する必要がある。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
システムに依って標準の行終端コードは違います。 良く使われているシステム見てもMacではCR、Unix系(unix/bsd/linuxなど)ではLF、WindowsではCR+LFです。 > 解決策としてどういった方法が考えられますか? 使い方に依って大きく変わってきます。 ftp等を使って取得している場合にはget/putの際に変換する事も可能ですが、Linuxにsamba入れて共有してたりNFSなどのリモートファイルシステム使ったりしていると状況が違いますし。 unixにもDOS/Windowsの行終端コードでも扱えるソフトはありますし、DOS/Windowsにもunixの行終端コードが扱えるソフトは多いので決めれば普通に扱える環境にしてしまえます。 > 計算に使える高性能なパソコンはlinuxしか無い この条件ならunix系の行終端コードを使うソフトで統一するのが良いと思います。 ※ ソフトでCR出力するという助言もありますが、一旦出力したファイルを入力ファイルとして使う事はないのか、それがあれば処理が非常に面倒になります。(色々な場面でCR入っている入ってないの場合分けしたりする必要もありますし[ファイルを読み込んで入ってきたデータと入力値を分けて処理したり]、日本語コードの一部として入っているCRと同じコードを適切に処理しないとデータが変わってしまったりしてしまいますし) > Windowsで確認すると Windowsのメモ帳で確認なさっているのではないかな。 Windowsでもメモ帳以外のソフトだと多くがunix系の改行コード扱えますよ。 歴史的にインターネットではunix系のサーバが使われている事が当り前だったので、Windowsもインターネットを重視するようになって以降、unixの改行コードが扱えないというソフトはどんどん減りました。 テキストエディタは他のソフトを入手・導入するなり、他のソフトで確認するなりすれば問題にならない気はします。 IEやらワードパッドやらでもunixの改行コード扱えたんじゃなかったかな。
その他の回答 (4)
- 774danger
- ベストアンサー率53% (1010/1877)
どうやってWindowsのPCへファイルを持ってきているんでしょうか? ftpでasciiモードで転送すれば改行コードを変換してくれます http://www5.plala.or.jp/vaio0630/ftp/ftp.htm あとはnkfなんかを入れてLinux側で改行コードを変換してやるのもありかと http://ref.layer8.sh/ja/entry/show/id/744 sambaとかでファイル共有してるならこちらのほうがいいかもしれない
- kmee
- ベストアンサー率55% (1857/3366)
あとは、Windows側でどんな方法で処理しようとしているか、ですね。 メモ帳では改行コードが違うと1行にくっついた様に見えますが、他のソフトでは、意外とすんなり読み書きできたりします。
- 8ive22ty
- ベストアンサー率52% (770/1479)
linux、Windows間では当然のことなのですが 改行だけの問題であれば writeする際に CRコード を付加すればいいのでは。 一例として、下記サイト参照。 ---テキスト・ファイルの行末コードを変更する http://www.atmarkit.co.jp/fwin2k/win2ktips/403eol/eol.html
- Cupper-2
- ベストアンサー率29% (1342/4565)
可能かどうか試したことはありませんが、webブラウザで表示させて、Shift-JISで保存し直してはいかがでしょう。 本来の使い方ではありませんが、Internet Explorer ってエンコードの違いを吸収するには良いツールなんです。