Raku 有类似 Python 的 Struct 的功能吗?

ohm*_*udy 8 raku

在 Python 中解包二进制数据:

import struct

bytesarray = "01234567".encode('utf-8')
# Return a new Struct object which writes and reads binary data according to the format string. 
s = struct.Struct('=BI3s')
s = s.unpack(bytesarray) # Output: (48, 875770417, b'567')
Run Code Online (Sandbox Code Playgroud)

Raku 有类似 Python 的 Struct 的功能吗?如何根据 Raku 中的格式字符串解压缩二进制数据?

jjm*_*elo 9

实验解包

use experimental :pack;

my $bytearray = "01234567".encode('utf-8');

say $bytearray.unpack("A1 L H"); 
Run Code Online (Sandbox Code Playgroud)

但是,它并不完全相同。这输出“(0 875770417 35)”。也许你可以稍微调整一下。

P5pack 中还有 Perl 的pack/实现unpack

  • 感谢您。`说 $bytearray.unpack("C1 LA*"); ` 按预期工作。 (3认同)