如何在 crystal 中复制这个特定的包示例?
How do I replicate this specific pack example in crystal?
Ruby
代码示例:
"\u0000\u0000\u0000\u0002".unpack('N')[0] #=> 2
如何使用 crystal
语言执行此操作?
您可以使用 IO#read_bytes
方法从许多地方读取整数。例如
io = IO::Memory.new("\u0000\u0000\u0000\u0002")
io.read_bytes(UInt32, format: IO::ByteFormat::NetworkEndian) # => 2
不过我建议不要使用字符串来存储二进制数据,直接从 IO
读取,或者使用 Bytes
类型存储更为惯用 Crystal.
Ruby
代码示例:
"\u0000\u0000\u0000\u0002".unpack('N')[0] #=> 2
如何使用 crystal
语言执行此操作?
您可以使用 IO#read_bytes
方法从许多地方读取整数。例如
io = IO::Memory.new("\u0000\u0000\u0000\u0002")
io.read_bytes(UInt32, format: IO::ByteFormat::NetworkEndian) # => 2
不过我建议不要使用字符串来存储二进制数据,直接从 IO
读取,或者使用 Bytes
类型存储更为惯用 Crystal.