Ruby: 对整数使用 pack("n")
Ruby: using pack("n") with integers
我知道我需要使用 [5].pack("n")
例如。这会产生输出 "\x00\x05"
但是现在我想打包一个字符串的长度。如果我使用:
"Hello".length.pack("n")
我收到错误
undefined method `pack' for 5:Fixnum (NoMethodError).
我该如何解决这个问题?我已经尝试将 "Hello".length
转换为带有 "Hello".length.to_i
的整数,但随后出现相同的错误。有什么办法可以解决这个问题吗?
您需要使用数组,而不是整数("Hello".length
已经是一个)。
["Hello".length].pack("n")
# => "\x00\x05"
我知道我需要使用 [5].pack("n")
例如。这会产生输出 "\x00\x05"
但是现在我想打包一个字符串的长度。如果我使用:
"Hello".length.pack("n")
我收到错误
undefined method `pack' for 5:Fixnum (NoMethodError).
我该如何解决这个问题?我已经尝试将 "Hello".length
转换为带有 "Hello".length.to_i
的整数,但随后出现相同的错误。有什么办法可以解决这个问题吗?
您需要使用数组,而不是整数("Hello".length
已经是一个)。
["Hello".length].pack("n")
# => "\x00\x05"