Ruby で数値と文字列の変換を行う場合は、下記のメソッドでほぼ事足ります。
to_i
と to_s
はデフォルトで十進数として処理しようとしますが、パラメータで任意の基数 (base) を指定することもできます。
i = "1111".to_i(2) # => 15
i = "0b1111".to_i(2) # => 15
i = "1000".to_i(8) # => 512
i = "01000".to_i(8) # => 512
i = "FFFF".to_i(16) # => 65535
i = "0xFFFF".to_i(16) # => 65535
文字列を to_i で数値に変換する場合、先頭の連続した 0 は無視されます。
i = "00001234".to_i # => 1234
bin = 15.to_s(2) # => "1111"
bin = sprintf("%08b", 15) # => "00001111"