【问题标题】:How can I convert a binary file to a base 2 representation in Linux?如何在 Linux 中将二进制文件转换为 base 2 表示?
【发布时间】:2015-07-11 11:19:41
【问题描述】:

我可以通过以下方式将二进制文件转换为 ASCII base 64 表示:

base64 piglet_squid.jpg > piglet_squid.txt

生成的文件的一小部分可能类似于以下内容:

LY61c8T1LeF+GsbJ2FhEjnNW0NoXFS0qi2MEKKyPErh13jSWFU+Xp8uRxu6Cqxzcn8cfCJxrYrwj
wx9PYNy+ZvXfUzHmsH7XKNBaTULLsXAHtXqbmtSze8knfeHKL0+a8R9qn13iniFuwilbK8x9K+9d
PMUXGvsxxX2sufZnxO9rrTK5221Bk9jWppTa8T8R3Ok6e3/hjox715M+KabSrb8M0jejC3bg6/Fe

如何将同一个文件转换为 base 2 表示?结果文件的一小部分可能类似于以下内容:

0101000111001011101010001010010110101001010010110111110101001000101010010100
0001010101001010101010010010011010101011101010110101001101110000000110011010
0100111010111111010100100010100001011010101010111010111010000101010010110101

我的偏好是使用非常标准的 Linux 实用程序来执行此操作。

【问题讨论】:

    标签: binary base64 ascii


    【解决方案1】:
    (echo obase=2; hexdump -ve'/1 "%u\n"' piglet_squid.jpg)|bc|xargs printf %08i|fold -w64
    

    这一行将文件piglet_squid.jpg 转换为标准输出上的base 2 表示;可以通过使用fold -w 指定另一个宽度来更改行长。

    【讨论】:

      猜你喜欢
      • 2018-03-20
      • 2015-12-12
      • 2021-07-17
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      • 2016-04-18
      相关资源
      最近更新 更多