linux - 在linux perl中从任何编码到utf-8的文件编码
问题描述
无论 ip.txt 的编码如何,我都想将文本文件 ip.txt 的编码转换为 US-ASCII。
当我尝试raw:encoding(UTF-16LE)
错误以UTF-16LE 出现时:script.perl 第 10 行的部分字符但是当我使用
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 字符集不包含任何此类字符。)
推荐阅读
- hive - Hive 独立元存储:可以从 Presto 连接,而不是从 Beeline
- vue.js - Vuetable 转换功能不起作用
- domain-driven-design - DDD:我应该把关于两个实体的逻辑放在哪里?
- php - 强制原则数据类型选择,从 tinytext 到 varchar
- jenkins - 我如何将 git 凭据添加到 jenkins 声明性管道中
- python - 我收到 result_sheet =result_xlsx.active AttributeError: 'Workbook' object has no attribute 'active' 错误
- python - 熊猫仅在满足条件时才对列应用方法
- r - 如何从 R 中的数据框中删除所有没有内容的变量/列?
- pdf - 如何在 Linux (Mac) 中从 WORD 文档中提取嵌入的 PDF
- r - 为什么我的 .nc 文件的尺寸在 R 中无法识别?