将二进制字符串(ASCII)转换为二进制文件 [英] Convert Binary Strings (ASCII) to Binary File

查看:648
本文介绍了将二进制字符串(ASCII)转换为二进制文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有几个大文件(3-6 Gb),它们的ASCII字符为1和0,我想将其转换为简单的二进制文件.换行符并不重要,应将其丢弃.

I have several large files (3-6 Gb) of 1's and 0's characters in ASCII and I would like to convert it to a simply binary file. Newlines are not important and should be discarded.

下面的test.bin是568个字节,我想要560位的文件.

test.bin below is 568 bytes, I would like the 560 bit file.

0111000110000000101000100000100100011111010010101000001001010000111000
1001100011010100001101110000100010000010000000000001011000010011111100
0100001000010000010000010111011101011111000111111000111001100010100011
0011101000100001111111000001111110111111101101100000011000010101100001
0000000110110001000000000001000011110100000101101000001000010001010011
1101101111010101011110001110000010011001100101101101000111111101110101
1000001100101101010111110111110101100000000011001000100000000011001110
0101101001110010011110000100101001001111010011100100001001111111100110
...

我发现了几种解决方法,将二进制文件转换为ASCII,而不是另一种方法.

I've found several solutions going the other way, converting a binary file into ASCII but not the other way.

理想情况下,我正在寻找一个简单的linux/bash解决方案,但我可以使用python解决方案. ===================编辑=================

Ideally I'm looking for a simple linux / bash solution but I could live with a python solution. =================== Edit ==================

为避免这种混乱,请考虑将任意两个ASCII字符转换为二进制文件.

To make this less confusing consider converting any two ASCII characters into a binary file.

test_XY_encoded.txt

test_XY_encoded.txt

XYYYXXXYYXXXXXXXYXYXXXYXXXXXYXXYXXXYYYYYXYXXYXYXYXXXXXYXXYXYXXXXYYYXXX
YXXYYXXXYYXYXYXXXXYYXYYYXXXXYXXXYXXXXXYXXXXXXXXXXXXYXYYXXXXYXXYYYYYYXX
XYXXXXYXXXXYXXXXXYXXXXXYXYYYXYYYXYXYYYYYXXXYYYYYYXXXYYYXXYYXXXYXYXXXYY
XXYYYXYXXXYXXXXYYYYYYYXXXXXYYYYYYXYYYYYYYXYYXYYXXXXXXYYXXXXYXYXYYXXXXY
XXXXXXXYYXYYXXXYXXXXXXXXXXXYXXXXYYYYXYXXXXXYXYYXYXXXXXYXXXXYXXXYXYXXYY
YYXYYXYYYYXYXYXYXYYYYXXXYYYXXXXXYXXYYXXYYXXYXYYXYYXYXXXYYYYYYYXYYYXYXY
YXXXXXYYXXYXYYXYXYXYYYYYXYYYYYXYXYYXXXXXXXXXYYXXYXXXYXXXXXXXXXYYXXYYYX
XYXYYXYXXYYYXXYXXYYYYXXXXYXXYXYXXYXXYYYYXYXXYYYXXYXXXXYXXYYYYYYYYXXYYX

其中X表示二进制0,Y表示二进制1.

Where X represents the binary 0 and Y represents the binary 1.

推荐答案

此bash命令如何?

cat test.bin | tr -d '\n' | perl -lpe '$_=pack"B*",$_' > true_binary.txt

'tr'将删除所有换行符,并且perl命令将转换为二进制.

'tr' will delete all newline characters, and the perl command converts to binary.

这篇关于将二进制字符串(ASCII)转换为二进制文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆