ruby - Ruby 中二进制字符串的问题

标签 ruby string binary

我目前正在尝试让我的 Ruby 脚本输出以下内容:

"\x41"* 28 "\x42\x13\x40\x00"

我的代码是:

puts "\x41" * 28 "\x42\x13\x40\x00"

它并没有像你期望的那样输出: AAAAAAAAAAAAAAAAAAAAAAAAAAAAB‼@

我知道这是“已翻译”的值,但如何避免这种翻译?我一直在研究 .pack() 但我无法弄明白。

提前致谢。

Dar56

最佳答案

怎么样

puts "\\x41" * 28 + "\\x42\\x13\\x40\\x00"

puts '\x41' * 28 + '\x42\x13\x40\x00'

情况 1 有效,因为 \\ 是一个转义序列,意思是 \ 而情况 2 有效,因为 '' 中的文字只检查\'\\ 转义序列。

关于ruby - Ruby 中二进制字符串的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6810041/

相关文章:

ruby-on-rails - Twilio Ruby 发送短信 - 未定义方法 `messages'

ruby-on-rails - 在 Heroku cedar 错误上部署 ruby​​ on Rails

c - 当我从函数中更改它时,为什么 `src` 没有更改?

c# - 判断一个字符串中的所有字符是否相同

十进制转二进制错误(C)

ruby-on-rails - 响应 CSV 时错过模板

转换字符串时间戳 HH :MM:SS to an integer in C

c - 如何消除此错误 : "integer literal is too large to be represented in a signed integer type"

binary - 如何将我的二进制(十六进制)数据转换为纬度和经度?

Ruby 组合方法的 Python 等价物