読者です 読者をやめる 読者になる 読者になる

16進数が文字列になっちゃっているものを配列にしたい

Ruby

お題 "FF2E0A" => [255, 46, 10] と変換したい

16進数が文字列として入っている。

"FF2E0A".scan(/.{2}/).map{|c|Integer("0x#{c}")}

これだとやはり長い。

["FF2E0A"].pack("H*").bytes

これがやはり最強だな。knuさんに教えてもらったけど、考えてもすぐには出てこない。

["FF2E0A"].pack("H*")

これだけだと文字列になりますので、これはこれで使えます。

pack / unpack は最強。