[ruby-list:45528] Re: Windows版のrubyで行末に \d をつけない方法もしくはbynary出力

From: KIMURA Koichi <kimura.koichi@...>
Date: 2008-10-03 07:51:25 UTC
List: ruby-list #45528
木村です。

On Fri, 3 Oct 2008 16:36:57 +0900
しん <dezawa@aliadne.net> wrote:

> Windows上で動かす必要があるプログラムを書いています。
> 行末を 00 0a で終了させたいのですが(Windowsの Unicodeの行末)
> どうやっても 0d 0a になってしまいます。
> 
> $ ruby -e 'print "\000\012"'|od -x
> 0000000 0d00 000a
> 
> $ ruby -e 'printf"%c",10'|od -x
> 0000000 0a0d
> 
> 行末に \r を出させない方法
> もしくは バイナリで出す方法はないでしょうか。
> 
> $ ruby -v
> ruby 1.8.5 (2006-12-04 patchlevel 2) [i386-mswin32]

bash-3.2$ ruby -e 'printf"%c",10'|od -x
0000000 0a0d

bash-3.2$ ruby -e 'STDOUT.binmode; printf"%c",10'|od -t x1
0000000 0a
0000001

STDOUTじゃなくて別のオブジェクトのほうがよかったような気もしますが
とりあえず。

-- 
木村浩一


In This Thread