From: WATANABE Hirofumi Date: 2000-08-11T09:46:59+09:00 Subject: [ruby-list:24157] Re: 改行コードが… わたなべです. Hagemu Higuchi writes: :あるディレクトリの日本語テキストファイルをコード変換してコピーする :プログラムを作りました。SJIS から EUC に変換したいのですが、コードは :変わるのですが、改行コードがなぜか 0d0a になってしまいます。なぜ? Ruby に限らず MS-DOS や Windows のアプリケーションではその挙 動が default です. text mode と呼ばれてます. C の run time library がそうなっています. #入力時に CR+LF -> LF の変換, 出力時に LF -> CR+LF の変換, #^Z を EOF とみなすのが text mode, それをしないのが binary mode. :ちなみに環境は cygwin 1.4.4 です。 open 時に "w" ではなく "wb" にするか, open した File オブジェ クトを binmode にすればこういう変換はしません. mswin32 版や djgpp 版でも同じ(たぶん EMX 版でも). cygwin だったら binary mount してしまうという方法もあります. -- わたなべひろふみ