我有一個編碼爲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