BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / focus / #1131同步于 2007/11/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Focus机器人发帖

我的简单Perl脚本:把MP3里的ID3从gb转换成utf8

GMoto
2007/11/30镜像同步0 回复
很早以前用bash配合id3lib做过一个,但是有点不好用。 昨天又想起来了,用Perl做的。做得有些简陋。 需要Perl的MP3::Info和Encode包。 #!/usr/bin/perl -w use strict; use MP3::Info; use Encode qw(from_to); if ( scalar @ARGV == 0 ) { print <<END USAGE: $0 file_name [ file_name ] ... END ; exit 0; } foreach my $file (@ARGV) { if ( not -f $file ) { print "Error: '$file' is not a regular file!\n"; next; } my $tag = get_mp3tag($file) or die "No TAG info"; for my $key (keys %$tag) { #print $key,": ",$tag->{$key},"\n"; eval { defined from_to($tag->{$key},"gb2312","UTF-8",Encode::FB_CROAK); } or die "$file: Error: Problem converting encoding!\n"; #print $key,": ",$tag->{$key},"\n"; #print $key,": ",encode("utf8",decode("gb2312",$tag->{$key})),"\n"; } remove_mp3tag($file,"ALL") or die "Cannot Remove Tag"; set_mp3tag($file,$tag) or die "Cannot Set Tag"; print "$file: Converted successfully!\n"; } #### END OF FILE #### 附:使用方法: 1)确认你有perl,而且安装了MP3:Info包。 2)创建一个文本文件,把上面的脚本贴进去。 3)给这个脚本加上“可执行”权限 $ chmod +x thefilename 4)执行这个脚本,参数是被转换文件: $ /path/to/thefilename thefiletoconvert.mp3
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。