我的桌面上有一个zip文件,大小为1440字节。以下是它的sha1。
openssl sha1 "$HOME/Desktop/file.zip"
> SHA1(/Users/loveborgstrom/Desktop/file.zip)= eaf08d01087617721555eeca9867b13e74c8e7df
长话短说,我需要将此文件存储在脚本中。为此,我将文件转换为base64。但是,当我尝试打印它失败。我注意到打印文件的sha1与原始文件不同。
我的问题是为什么这会使文件保持原样
cat "$HOME/Desktop/file.zip" | base64 | base64 -D | openssl sha1
> eaf08d01087617721555eeca9867b13e74c8e7df
但不是这个
a="$(cat "$HOME/Desktop/file.zip")"; echo -n "${a}" | base64 | base64 -D | openssl sha1
> ccc23bb28dd6ff27bcd4de7739c931f5870d06e7
如果我将这些文件中的每一个打印到文件中,则第一个文件在1440字节处完好无损并且可以提取。然而另一个只有1086字节...
我很困惑为什么有些内容会消失,并且想知道如何阻止这种情况发生。