私のデータは、次のようにRuby言語を使用して解析すると、64 ビットのネットワーク バイト オーダーとしてエンコードされます。
def unpack_string(str)
binary = str.unpack('m*').first
binary.unpack('G*')
end
my_array_of_floats = unpack_string(str)
Perl のpack / unpackを使用して同じことを行うにはどうすればよいですか?
私のデータは、次のようにRuby言語を使用して解析すると、64 ビットのネットワーク バイト オーダーとしてエンコードされます。
def unpack_string(str)
binary = str.unpack('m*').first
binary.unpack('G*')
end
my_array_of_floats = unpack_string(str)
Perl のpack / unpackを使用して同じことを行うにはどうすればよいですか?
Rubyのドキュメントを見ると、
m
MIMEbase64エンコーディングです。G
倍精度のネットワーク(ビッグエンディアン)バイトオーダーですPerlはbase64unpack
を実行しませんが、MIME::Base64は実行します。
Perlunpack
では、d
は倍精度です。を使用してエンディアンを指定できます>
。
use MIME::Base64 qw( decode_base64 );
my @nums = unpack 'd>*', decode_base64 $str;
>
Perl5.10で導入されました。