首页 > 解决方案 > Raku 是否有与 Python 的 Struct 类似的功能?

问题描述

在 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')

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

标签: raku

解决方案


实验解包

use experimental :pack;

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

say $bytearray.unpack("A1 L H"); 

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

还有一个 Perl 的pack/unpackP5pack中的实现


推荐阅读