From: Akinori MUSHA Date: 2002-12-22T19:11:58+09:00 Subject: [ruby-list:36817] Re: Ruby SNMPについて At Thu, 19 Dec 2002 16:30:58 +0900, K.Kosako wrote: > 表示だけのことなら、Ruby SNMPを改造しなくても、 > 値を変換すればよいと思います。 > > s = "\x08\x00\x46\x22\x76\xce" > > p s.gsub(/./) { |x| "%02x " % x[0] }.strip > #=> "08 00 46 22 76 ce" > > p s.unpack("C*").map { |x| "%02x" % x } > #=> ["08", "00", "46", "22", "76", "ce"]  これはその通りです。  しかし、 Ruby/SNMP メンテナ達に考えてもらった結果、よりパーズ しやすい形式で返すべきだろうということになり、「SNMPOctet」という クラスを新設してその配列を返すようになりました。  to_s で二桁の16進表現、 to_i で整数が取り出せるようです。これに よって、上の例で言えば、そのまま "#{s}" とすれば 0800462276ce と 出力され、 s.join(":") なら 08:00:46:22:76:ce と出るようになったと 思います。ご確認ください。 -- / /__ __ Akinori.org / MUSHA.org / ) ) ) ) / FreeBSD.org / Ruby-lang.org Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp "I believe in what I see, I believe in what I hear, I believe that what I'm feeling changes how the world appears."