« Return to Thread: [ruby-list:46146] 文字変換

[ruby-list:46170] Re: 文字から16進への変換方法について

by Hidetoshi NAGAI :: Rate this Message:

Reply to Author | View in Thread

永井@知能.九工大です.

From: eiichi_maekawa@...
Subject: [ruby-list:46168] Re: 文字から16進への変換方法について
Date: Mon, 6 Jul 2009 18:30:35 +0900
Message-ID: <OF667B9E0F.0DE8AB87-ON492575EB.00333E0F-492575EB.00343BE4@...>
> るびきちさんの助言で、なんとか、変換処理作りましたが、
> もう少し、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@...)
九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門

 « Return to Thread: [ruby-list:46146] 文字変換