Я работаю над генерацией некоторых порядковых номеров, и мне нужно кодировать их в длинном формате, то есть в стандартном 8-байтовом, так как нижестоящий поток - это приложение Java, а сгенерированный номер должен быть прочитан типом данных Long
Java.
Я искал переполнение стека и мог найти ответы на других языках, но не на Perl.
Обратите внимание, что приведенные ниже данные печатаются в 8 байтах в форме ASCII:
$ perl -le ' BEGIN { printf("%08d\n", 256) } '
00000256
$
Но я этого не хочу.Я хочу, чтобы необработанные шестнадцатеричные значения выходных данных были:
\x00 \x00 \x00 \x00 \x00 \x00 \x01 \x00
Что при сканировании как 8 байт Long
должно снова стать 256.
Для 255 должно быть:
\x00 \x00 \x00 \x00 \x00 \x00 \x00 \xFF
Как это можно сделать в Perl?