Как я могу изменить FF02500000000020 на 20000000005002FF в Perl?Как изменить порядок байтов 8-байтовой строки в Perl?
Как я могу сделать, это:
- отдельные FF02500000000020 на две части FF025000 и 00000020
- добавить 0x перед ними;
затем
my $num2=0xFF025000; my $num3=0x00000020; my $s2=pack('I!',$num2); my $s3=pack('I!',$num3); print unpack ("H*", "$s2") . "\n"; print unpack ("H*", "$s3") . "\n";
затем объединить эти две части снова.
Есть ли простой способ?
Какие входные данные вы начинаете с? Строка необработанных байтов? Строка в шестнадцатеричном формате? – aschepler
Это еще одна вещь, которую я смутил. это переменная, которую я получил из другой строки \ xff \ x02 \ x50 \ x00 \ x00 \ x00 \ x00 \ x20, используя @ array = split (/ \\ x /, $ data); и используйте spice и join, чтобы получить эту переменную. и я могу применить функцию hex к этой переменной. Я думаю, это строка. – user389955