到我的 Perl 字符串或数组中-6ren">
gpt4 book ai didi

perl - 如何解压 "pairwise reversed"命令BA DC中的字节?

转载 作者:行者123 更新时间:2023-12-02 01:55:12 24 4
gpt4 key购买 nike

我有一个二进制字符串,其中字节按以下方式反转:该文件包含例如四个字节0x18 0xb1 0x35 0x41,应解释为0xb1 0x18 0x41 0x35 code> 到我的 Perl 字符串或数组中。也就是说,每对字节都是相反的。

如何使用unpack来解压此格式?

我还想知道这种包装/格式是否标准,有名称吗?如果我使用了错误的术语,我深表歉意,我不习惯字节级操作。

最佳答案

所以你有“\x18\xb1\x35\x41...”并且你想要“\xb1\x18\x41\x35...”

$s =~ s/(.)(.)/$2$1/sg;
my $out = $in =~ s/(.)(.)/$2$1/srg;
my $out = pack "n*", unpack "v*", $in;
my $out = pack "C*", unpack "(xCXXCx)*", $in;

...或包含 0xb1、0x18、0x41、0x35、... 的数组。

my @out = unpack "C*", $in =~ s/(.)(.)/$2$1/srg;
my @out = unpack "C*", pack "n*", unpack "v*", $in;
my @out = map { $_ >> 8, $_ & 0xFF } unpack "v*", $in;
my @out = unpack "(xCXXCx)*", $in;

关于perl - 如何解压 "pairwise reversed"命令BA DC中的字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69701112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com