Personal tools

当winrar不听话的时候

由于文件编码差异,winrar不能解压缩来自linux上的文件 :-(

由于文件编码差异,winrar不能解压缩来自linux上的文件 :-(

由于硬件支持的问题,俺的本本还是在跑windows。这次需要从我们的服务器下载些文件。

于是 tar czf a.tgz .... 打了个包,下载下来。

但是在windows上,用winrar却解压不成,因为linux上是utf8的编码,而windows只理会gb编码。

找了半天winrar的选项,也没发现文件名编码转换的功能,生气中...

但是托python的福,其实只要4行脚本就可以解决问题了:

>>> import tarfile
>>> t = tarfile.open(r'a.tgz', 'r:gz')
>>> for i in t:
...    i.name = unicode(i.name)
...    t.extract(i)

需要注意的是:

  1. 我用的是python2.4
  2. 需要调整site.py中的默认编码: encoding = "utf-8"
 

本站由 润普公司资助, 采用 易度CMS 构建。

广而告之:润普公司 易度在线工作平台,包括 易度文档管理系统 易度项目管理系统 , 易度部门管理 ,均采用Zope 3/BFG技术开发。
沪ICP备05008050