我想将文本文件ip.txt的编码转换为US-ASCII,而不管ip.txt的编码是什么。
当我尝试raw:encoding(UTF-16LE)错误时,在script.perl第10行中出现UTF-16LE:Partial字符,但是当我使用时
raw:encoding(US-ASCII)错误就像ascii“ \ xC0”在script.perl第10行未映射到Unicode。
use strict;
use warnings;
my $old= '/home/ip.txt';
my $new = '/home/out.txt';
open(my $myold, "<:raw:encoding(UTF-16LE):crlf:utf8", $old) or
die "Could not open file 1 $!";
open(my $mynew, ">>", $new) or
die "Could not open file 2 $!";
while( my $line = <$myold> )
{
print {$mynew} $line;
}
close($myold);
close($mynew);
请建议如何使用:raw:encoding():lf:utf8?它有什么用,请解释一下?
感觉就像您只是在猜测文件的编码。看到有100个,这不太可能有效。要消除错误,请提供文件的实际编码。
当我尝试raw:encoding(UTF-16LE)错误时 UTF-16LE:Partial character at script.perl line 10
该文件未使用UTF-16le编码。
当我使用raw:encoding(US-ASCII)错误时ascii "\xC0" does not map to Unicode at script.perl line 10.
该文件未使用ASCII编码。(输入文件包含byte C0,但是ASCII字符集不包含任何此类字符。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。