我有一个编码为PC UTF-8的文件。我想将文件转换为PC ANSI。Perl - 将PC UTF-8转换为PC ANSI
我已经尝试了下面,但我总是得到输出文件为PC UTF-8。
use Encode;
$infile = $ARGV[0];
open(INFILE, $infile);
my $outfile = "temp.txt";
open(OUTFILE, ">$outfile");
while(<INFILE>) {
my $row = $_;
chomp $row;
$row = Encode::encode("Windows-1252", $row);
print OUTFILE $row."\n";
}
close INFILE;
close OUTFILE;
这是*略*浪费'chomp'行,然后追加'\ N'它。 – 2013-02-25 21:58:43
你可以用一个*非常小的文件来试试它,比如用一个非ASCII字符表示一行,然后向我们展示一个输入和输出的十六进制转储? – 2013-02-25 22:07:12
这与你的问题没有关系,但是'open'的3参数版本是首选。 http://modernperlbooks.com/mt/2010/04/three-arg-open-migrating-to-modern-perl.html – 2013-02-25 22:08:57