2009年7月 6日

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

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

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


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




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