如何在水晶中复制这个特定的包装示例?

时间:2017-11-30 16:30:55

标签: crystal-lang

Ruby代码示例:

"\u0000\u0000\u0000\u0002".unpack('N')[0]  #=> 2 

如何使用crystal语言执行此操作?

1 个答案:

答案 0 :(得分:6)

您可以使用IO#read_bytes方法从许多地方读取整数。例如

io = IO::Memory.new("\u0000\u0000\u0000\u0002")
io.read_bytes(UInt32, format: IO::ByteFormat::NetworkEndian) # => 2

我建议不要使用字符串存储二进制数据,直接从IO读取,或使用Bytes类型存储更加惯用的Crystal。