如何将字符串的ASCII值作为二进制数打印出来?

我试图通过不同的方法实现它,但它仍然给错误,所以如何使用.ord来实现它还是有其他方法来实现它? 基本上我想要得到的字符串中的每个字符的ASCII值,然后通过使用.to_s(2) 这里将他们每个人在二进制是我的代码↓如何将字符串的ASCII值作为二进制数打印出来?

input = gets.chomp.split("").each { |s| s.ord.to_i } 

puts input.to_s(2)

回答:

试试这个

gets.chomp.chars.each { |ch| puts ch.ord } 

chars方法另一种方法split("")

回答:

您可以使用each_codepoint迭代字符串的代码点和printf%b将其格式化为二进制数字。

'foo bar'.each_codepoint { |c| printf("%07b\n", c) } 

输出:

1100110 

1101111

1101111

0100000

1100010

1100001

1110010

07前缀设置最小宽度至7和垫缺失位与0(参见sprintf用于格式化选项)。不过,可能会有超过7位的字符。

以上是 如何将字符串的ASCII值作为二进制数打印出来? 的全部内容, 来源链接: utcz.com/qa/260933.html

回到顶部