程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使 base64 对文件进行多次编码并将其输出到文件中?(bash)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使 base64 对文件进行多次编码并将其输出到文件中?(bash)?

开发过程中遇到如何使 base64 对文件进行多次编码并将其输出到文件中?(bash)的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使 base64 对文件进行多次编码并将其输出到文件中?(bash)的解决方法建议,希望对你解决如何使 base64 对文件进行多次编码并将其输出到文件中?(bash)有所启发或帮助;

目前这是我的工作代码。我如何通过一些输出文件和文件附加来使它更好。示例输出base64编码文本到sample1.txt、sample2.txt等..

非常感谢任何帮助。

#!/bin/bash

state=$(<myfiletoencodE)
for i in {1..5}; do
   state=$(<<<"$state")
done
echo "$state"

解决方法

如果我理解正确的话,你想要

base64 file > sample1.txt 
base64 file | base64 > sample2.txt
base64 file | base64 | base64 > sample3.txt
...

由于您希望每个步骤都有一个文件,因此您不需要变量。只需对最后一个文件进行编码即可生成下一个:

#!/bin/bash
ln myfiletoencode sample0.txt
for i in {1..5}; do
   base64 "sample$((i-1)).txt" > "sample$i.txt"
done
rm sample0.txt

请记住,等效的 base64 编码可以采用不同的格式。您可以随时添加换行符。示例:

$ seq 23 | base64
MQoyCjMKNAo1CjYKNwo4CjkKMTAKMTEKMTIKMTMKMTQKMTUKMTYKMTcKMTgKMTkKMjAKMjeKMjIK
MjMK
$ seq 23 | base64 -w0
MQoyCjMKNAo1CjYKNwo4CjkKMTAKMTEKMTIKMTMKMTQKMTUKMTYKMTcKMTgKMTkKMjAKMjeKMjIKMjMK

当你再次编码这个编码时,你会根据格式得到不同的编码(注意不同的长度和后缀 wpNak1LCg== != 01qTUs=):

$ seq 23 | base64 | base64
TVFveUNqTUtOQW8xQ2pZS053bzRDamtLTVRBS01URUtNVElLTVRNS01UUUtNVFVLTVRZS01UY0tN
VGdLTVRrS01qQUtNakVLTWpJSwpNak1LCg==
$ seq 23 | base64 -w0 | base64
TVFveUNqTUtOQW8xQ2pZS053bzRDamtLTVRBS01URUtNVElLTVRNS01UUUtNVFVLTVRZS01UY0tN
VGdLTVRrS01qQUtNakVLTWpJS01qTUs=

因此,我建议使用 base64 -w0 禁用输出中的所有换行符。

大佬总结

以上是大佬教程为你收集整理的如何使 base64 对文件进行多次编码并将其输出到文件中?(bash)全部内容,希望文章能够帮你解决如何使 base64 对文件进行多次编码并将其输出到文件中?(bash)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。