如何在Ruby中将字符串转换为二进制

bha*_*anu 1 ruby string binary

我有一个字符串"10010",我假设字符串本身是二进制数.如何将字符串"10010"转换为二进制类似0b10010?

Mar*_*mas 5

您可以将基础传递给to_i方法:

"10010".to_i(2) #=> 18
Run Code Online (Sandbox Code Playgroud)

请注意,数字在内部存储为二进制.如果要生成指定的输出,可以使用sprintf以下命令将其转换回字符串:

sprintf("%#b", 18) #=> "0b10010"
Run Code Online (Sandbox Code Playgroud)

但是如果你不关心领先的"0b"那么你也可以将基数传递给to_s方法:

18.to_s(2) #=> "10010"
Run Code Online (Sandbox Code Playgroud)