关于linux下几种常见压缩方法“乱码”与否的有趣比较

不指定
2011-7-11 10:47 by:果面 PC应用 » 系统&软件 本站原创 | |
所谓“常见”大概只能说是我见过的,tar, gz, bz2, zip, 7z, jar。
标题中的乱码指在linux+utf8系统中压好的中文文件在windows下解压后文件名乱码。

tar 主要用于归档文件,本身并不负责压缩。gz和bz2则只能压缩单个文件,所以常常与tar组合使用,这样就形成了常见的tar.gz和tar.bz2。tar压缩后乱码,tar.gz和tar.bz2也就跟着错。有趣的是,bz2可以正确的处理中文件文件名,但gz则出现乱码。
zip可以打包多个文件,但压缩后乱码。怀疑gz乱码的根源就源于zip。jar的问题同zip。
相较而言7z算是表现就好的,既可以打包多个文件,又可以在打包时正确的处理中文文件名。唯一发现的一个缺点是,在gnome下file-roller无法压缩文件夹。这应该是file-roller的问题。希望不久后能会被修正。

结论:
如果使用linux+utf8系统,压缩中文文件时最好使用7z,以免无法在windows正常解压。压缩文件夹时可能得暂时使用命令行了。
7z a dir.7z dir/




可以试试xarchive,它可以支持tar、gz、bz2、zip、rar、arj、ace、7z等几乎所有的压缩文件格式,本身是个图形界面的压缩包管理器,自身不能压缩、解压缩文件,靠调用系统中的命令行程序来完成,和file-roler一样,并且还可以根据需要扩展。
另外有个xarchiver是准备集成到xfce的thunar文件管理器里的,就像nautilus集成的file-roler一样,而xarchive是独立的gtk2程序不要搞混了。



二 linux和win之间不乱码

一个中文文件名的文件,在win和linux之间复制,文件名想不乱码怎么办---只要win和linux的文件名编码相同即可

win 文件名编码方案=? 但是win文件名“汉字”=baba,d7d6
linux 文件名编码方案=utf-8 或 gb18030
结论:linux 使用gb18030编码即可和win兼容
评论(0) 引用(0) 阅读(8562)