我如何修复 tar-bzip2-ruined 源代码编码?

How can I fix tar-bzip2-ruined source code encoding?

我几乎完成了一个学校项目的 DES 实施,当时...

我用 tar & bzip2 破坏了我的源代码。

命令是: tar cjvf des.cpp des.h main.cpp > des_implementation.tar.bz2

我试图创建一个压缩档案发送给朋友。令我震惊的是,当我在 CLion(des.cpp、des.h 和 main.cpp)中打开源代码时,我发现 des.cpp 完全被破坏了,CLion 显示错误: File was loaded in the wrong encoding: 'US-ASCII'.

这是文件内容的示例: BZh91AY&SY©fZ�×ÿÐÞ°�ÀY÷ÿÝ¿ïßÊÿïÿê���PÞáó``Í®:D4i¢4Òz¦5=OPÞ¤iâSÚ£@õ�å

我也试过解压缩压缩文件,但无济于事。我以为该命令会创建一个单独的 .tar.bz 文件并保留原件?

主要问题:

  1. 这是怎么发生的?
  2. 我怎样才能确保它不再发生?
  3. 我该如何解决这个问题?

我很慌张和绝望,任何帮助将不胜感激。

这是因为 tarf 选项指定输出文件是 des.cpp.

您无法确保它不再发生,但您可以通过使用 版本控制备份reading manual pages 在使用未知命令之前。

除非您有备份(或已经在使用版本控制),否则您真的无能为力。