在 Ruby 中将 Base64 字符串转换为整数

Lar*_*nal 5 ruby base64

我想将 Base64 值(例如“AAAAAAAAABI=”)转换为相应的整数。我对 Base64.decode64 很感兴趣,但不清楚它如何成为解决方案的一部分。

irb > require 'base64'
 => true 
irb > Base64.decode64('AAAAAAAAABI=')
 => "\x00\x00\x00\x00\x00\x00\x00\x12" 
Run Code Online (Sandbox Code Playgroud)

Mla*_*vić 4

这应该就是你所追求的。如果没有,请查看String#unpack有关其功能的更多信息。

require 'base64'
i = Base64.decode64('AAAAAAAAABI=')
i.unpack('q*').first
# => 1297036692682702848 
Run Code Online (Sandbox Code Playgroud)

  • 如果您打算使用`unpack`,那么您可以摆脱base64库并完全使用`unpack`来完成;实际上,`Base64.decode64`被实现为`unpack("m").first`,所以你的代码相当于`'AAAAAAAAABI='.unpack('m').first.unpack('q*')。首先`。 (5认同)