From: Hidetoshi NAGAI Date: 2009-07-06T19:28:30+09:00 Subject: [ruby-list:46170] Re: 文字から16進への変換方法について 永井@知能.九工大です. From: eiichi_maekawa@mhi.co.jp Subject: [ruby-list:46168] Re: 文字から16進への変換方法について Date: Mon, 6 Jul 2009 18:30:35 +0900 Message-ID: > るびきちさんの助言で、なんとか、変換処理作りましたが、 > もう少し、Rubyらしいコーディングにしたいのですが、 > どなたか、ご教示願います。 せっかく教えていただいた "%#x" の # の意味くらいは 自分で調べた方がいいとは思いますが... str = '船海システムG' であるとするとき, block を与えない each_byte が Enumerable::Enumerator オブジェクトを 返すようになったバージョンの Ruby であれば, -------------------------------------------------------------------- str.each_byte.map{|x| '%x' % x}.join('') -------------------------------------------------------------------- なんてのでもいいでしょうね. block を与えないと each_byte がエラーになるようなバージョンの Ruby なら, -------------------------------------------------------------------- (s = ''; str.each_byte{|x| s << '%x' % x}; s) -------------------------------------------------------------------- とかでしょうか. -- 永井 秀利 (nagai@ai.kyutech.ac.jp) 九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門