動機
剛好遇到直接用notepad++轉utf-8不完全
導致程式出錯
想法
後來發現是不正常的換行結尾導致
那麼就動手用perl把不正常的結尾清除,順便把檔案編碼轉一轉好了
這次一樣用個人最新寵兒 Perl 來搞定 ( 不給用c#,整間公司都linux好崩潰 )
解決方案
讀出一行轉一行,直到結束為止
動手做
首先要有perl 的 Encode
encode doc
安裝方式不講了,就perl make make install
直接上code
#!/usr/bin/perl
use Encode qw/encode decode/;
my $input = './class.java';
my $output = './class.java';
open ($fh,$input);
open ($fo,">".$output);
while ($row = <$fh>){
$row = &rtrim($row);
$row = encode("utf-8",decode("big5",$row));
print $fo $row."\n";
}
close($fh);
close($fo);
sub ltrim { my $s = shift; $s =~ s/^\s+//; return $s };
sub rtrim { my $s = shift; $s =~ s/\s+$//; return $s };
sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s };
一樣請出好用的 trim 三兄弟搞定!
留言
張貼留言