2011年9月17日

[ruby-list:48368] IO#set_encoding における改行コードの扱い?

素人の質問ですみません.

Windows 7 環境で,mswin32 版の Ruby 1.9.2p290 を使用しています.

UTF-8 でエンコードされたテキストファイル(改行コードはLF)を処理しようと思って,

ファイルを読み込むときに

inp = open(filename, "r")
inp.set_encoding(”UTF-8")

として読み込み,処理した結果を標準出力から出力するときに,

$stdout.set_encoding("UTF-8")
printf "....\n", ....

とすると,確かに UTF-8 では出力されるのですが,改行コードが CR+LF になってしまいます.
改行コードは $\ で指定できることは知っているのですが,IO#set_encoding と改行コードは
独立なのでしょうか?

その場合,入力ファイルの改行コードと同じ改行コードで出力するためのスマートな方法は
ないでしょうか?

--
俊(とし)


投稿者 xml-rpc : 2011年9月17日 14:22
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/107012
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。