【问题标题】:Perl converting base64 back to binaryPerl 将 base64 转换回二进制
【发布时间】:2014-09-30 19:53:41
【问题描述】:

我有一个形式为二进制字符串

"000000110111010100110110001010001010110111010110010001111111101010000001"  # for example

要编码为 base 64,我使用 pack 和 encode_base64

my $base64 = encode_base64 pack 'B*', $binaryString;

然后我会得到。

A3U2KK3WR/qB

我想恢复到字符串的原始二进制形式,我试过了

my $binString = decode_base64 $base64;  

但是会返回

u6(��G��

我怎样才能恢复原来的二进制字符串?

【问题讨论】:

  • 看起来你的问题需要解包。
  • Live demo 的解压结果。

标签: string perl base64 decoding


【解决方案1】:

倒数

my $base64 = encode_base64(pack('B*', $binary));

my $binary = unpack('B*', decode_base64($base64));

【讨论】:

  • 注意:我假设 length($binary) 总是能被 8 整除。否则,$base64 中没有足够的信息来重新创建原始字符串。
  • 谢谢你,完美运行,感觉很垃圾,我忘了打开包装
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-06
  • 2021-05-07
  • 1970-01-01
  • 2017-08-29
  • 1970-01-01
相关资源
最近更新 更多