Base64编码修改只是可打印的字符

时间:2011-10-14 08:43:51

标签: linux bash base64

我有一个base64字符串,其中包含不可打印的字符。

我想修改可打印的一个。但我不能使用base64 -d,因为我将失去不可打印的。

这是一个允许我这样做的命令吗?

示例,如果我这样做

echo "base64 string" | base64 -d | od -c 

我获得了

0000000 004 002 254 334   0 202 003 362  \f  \0   0 202 003 354   0 202
0000020 003 350 002 002 006 021   0   -   0   )   0 036 002 004   A 343
0000040 271   | 002 003  \0 352 233 002 002 021 340 002 002  \0 232 002
0000060 001   . 004 006  \0  \f   ) 346 353 323  \f  \a   J   0   0   6
0000100   0   6

等...

假设我想用J 0 1修改J 0 0 ......我可以这样做吗?

更新:

目前解决方案已转换并将base64解码输出到文件中,然后使用HEX编辑器进行编辑。

因此,如果您知道Linux中包含的一些命令行HEX Editor本机,请告诉我

1 个答案:

答案 0 :(得分:1)

当我在我的系统上尝试时,我得到了

  

base64:输入无效

由于你只想要可打印的字符,我怀疑你想要的是base64编码的字符串。

如果是这样,您应该滑动-d选项:

echo "base64 string" | base64 | od -c

如果您确实想将某些字符更改为其他字符,可以使用tr(翻译)命令:

来自man tr

  

tr - 翻译或删除字符