Ruby 代码示例:
"\u0000\u0000\u0000\u0002".unpack('N')[0] #=> 2
Run Code Online (Sandbox Code Playgroud)
我怎么能用crystal语言做到这一点?
您可以使用该IO#read_bytes方法从许多地方读取整数.例如
io = IO::Memory.new("\u0000\u0000\u0000\u0002")
io.read_bytes(UInt32, format: IO::ByteFormat::NetworkEndian) # => 2
Run Code Online (Sandbox Code Playgroud)
我建议不要使用字符串来存储二进制数据,直接从中读取IO或使用该Bytes类型存储更加惯用的Crystal.