linux日文乱码,有关日文压缩文件乱码的问题
自己用的是日文的linux系统,昨天从同事那儿收了个压缩文件,结果解压之后文件名都乱吗了(内容正常显示)。网上google了以下发现是因为windows下默认的编码方式时Shift-JIS,到了linux下之后虽然内容可以显示但是文件名却乱码。解决方法也挺简单的,perl提供了一些方法,直接写一个简短的程序即可。
我也是从其他地方参照的,给一个例子程序。(这里需要安装Archive::Zip模块)
#!/usr/bin/perl
use strict;
use warnings;
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
use Encode qw/from_to/;
use Getopt::Long;
use DateTime;
use DateTime::TimeZone::Local;
GetOptions('list|l' => \ my $mode_list);
if (scalar @ARGV < 1) {
print "Usage: $0 [-l] \n";
exit 1;
}
my $zipfile = shift @ARGV;
my $zip = Archive::Zip->new();
unless ( $zip->read($zipfile) == AZ_OK ) {
die 'read error';
}
print "Archive: $zipfile\n";
if ($mode_list) {
print <
Length Date Time Name
-------- ---------- ----- ----
HERE
}
my $total_size = 0;
my @members = $zip->members();
my $members_count = scalar @members;
foreach my $member (@members) {
my $filename = $member->fileName;
from_to($filename, 'cp932', 'utf8');
if ($mode_list) {
my $dt = DateTime->from_epoch(
epoch => $member->lastModTime
)->set_time_zone(DateTime::TimeZone::Local->TimeZone());
$total_size += $member->uncompressedSize;
printf "%9d %s %s\n",
$member->uncompressedSize,
$dt->ymd('-') . ' ' . sprintf("%02d", $dt->hour) . ':' . sprintf("%02d", $dt->min),
$filename;
} else {
print " inflating: $filename\n";
unless (defined $zip->extractMember($member, $filename)) {
warn " failed: $filename\n";
}
}
}
my $members_count_str = "$members_count file" . ($members_count > 1 ? 's' : '');
if ($mode_list) {
print <
-------- -------
HERE
printf "%9d %s\n", $total_size, $members_count_str;
} 关键词标签:日文压缩
linux日文乱码,有关日文压缩文件乱码的问题相关推荐
- linux日文乱码,解决日文压缩文件乱码问题的方法——深圳培训linux
这篇文章, 有关日文压缩文件乱码的问题,自己用的是日文的linux系统,昨天从同事那儿收了个压缩文件,结果解压之后文件名都乱吗了(内容正常显示).网上 google了以下发现是因为windows下默认 ...
- java 压缩 乱码_如何解决java压缩文件乱码问题
用java来打包文件生成压缩文件,有两个地方会出现乱码: 内容的中文乱码问题:修改sun的源码.使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apac ...
- linux常用解压和压缩文件的命令
linux常用解压和压缩文件的命令 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ---- ...
- 文件恢复+html乱码怎么办,数据恢复的文件乱码,怎么办?
吴川 华南区技术负责人 概要 通过数据恢复工具恢复的文件乱码了,到底是怎么回事呢?当文件发生丢失的情况后又有哪些注意事项?都叫兽为您解答. 都叫兽™ 数据恢复 是按照Raw模式进行文件扫描并恢复的,它 ...
- linux系统如何解压rar文件怎么打开,在Linux下如何打开RAR压缩文件
关键词: 在Windows下常见的RAR压缩文件在Linux下目前还没有免费的打开工具. 如果要用,只能用RAR的Linux试用版本. 下载地址是:http://www.rarlab.com/down ...
- 20191004在LINUX下如何将tar压缩文件解压到指定的目录下
百度搜索:tar 解压缩到指定目录 https://zhidao.baidu.com/question/9844116.html 在LINUX下如何将tar压缩文件解压到指定的目录下 各位,请教一下在 ...
- linux zcat 使用方法,使用linux的zcat命令查看压缩文件的内容
服务器 本篇文章和大家了解一下使用linux的zcat命令查看压缩文件的内容.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. zcat命令用于不真正解压缩文件,就能显示压缩包中文件的 ...
- 网络安全与网站安全及计算机安全:如何使用Kali Linux的Rarcrack获取RAR压缩文件加密密码?
知识点详解 1.1.Rarcrack是一款获取压缩文件密吗的软件,但是仅支持zip.rar和7z三种类型. 1.2.在kali操作系统中是没有此工具的,所以就必须先安装才能使用. 1.3.安装Rarc ...
- geany java编译器乱码_Ubuntu Geany打开文件乱码的解决方法
Geany是Ubuntu下一款很不错的文本编辑工具和开发工具,但美中不足的是使用Geany打开非UTF-8编码的简体中文文件时,一般显示乱码,查看看属性会发现Geany对于中文文件是按照ISO8859 ...
最新文章
- AttributeError: ‘tuple‘ object has no attribute ‘group‘
- 【转载】Linux下安装、配置、启动Apache
- 首发:一份国内机器学习爱好者的性别比例的抽样调查
- Projection of Tuple DataSet具体用法
- 机器学习从入门到精通50讲(一)-大数据平台下的数据质量管理
- Axios 作弊表(Cheat Sheet)
- windows下安装nodejs多版本管理工具nvm-windows
- 禁止“挖矿”!谷歌杀了所有的 Chrome 扩展应用
- 指向Member Function的指针
- 节后一起搞学习!聊一聊我在 B 站上自学编程的经历吧
- 计算机一级msoffice考试选择题题库,计算机一级《MS Office》考前选择题题库与答案...
- 利用keras实现孪生网络中的权值共享
- EJB开发第一个无状态会话bean、开发EJB客户端
- 19款资源整合类网站推荐:每一个网站都堪称以一敌百
- Java中list转map的常用方法
- lisp 左手钢筋_左手键配置程序
- 机器学习练习 6 - Support Vector Machines(支持向量机)
- 【新手上路常见问答】关于知识工程
- 华为鸿蒙朱丹丹,周一围心疼老婆?朱丹二胎产后憔悴臃肿却忙复出:这一年太痛苦...
- 收集的一些学习ios的好网站
热门文章
- 在html中怎么去掉自动编号,Word中取消自动编号如何操作
- word 内嵌自动编号
- 打印5列五颗星_王者荣耀段位排列每个段位多少星?段位排列标志多久刷新一次?[多图]...
- 灵石县“灵石酸枣仁”品牌正式发布,促进产业发展 助力乡村振兴
- java中asscc码表,RedHat Linux各版本汇总
- 深圳python培训比较好的机构
- 第一篇博客关于maven阿里云镜像
- node 压缩图片_图片压缩有困难?你肯定没用过这几款工具
- 【nowcoder 186D / 19153】无限手套(DP)(生成函数)
- 汇编语言程序设计钱晓捷第五版期末复习参考