将文本文件中的数据切换为ASCII或UTF8

时间:2019-05-30 09:39:26

标签: file unix encoding utf-8 character-encoding

我在Unix中有一个文本文件,其中两列在第一列中包含各种语言的字符串(中文,韩语,日语,阿拉伯语,英语,法语,德语,等等)。

当前文件的编码为:

  

> 文件index.txt
  index.txt:非ISO扩展ASCII英文文本,带LF,NEL行   终止符

我被告知,该文件具有条目的子集(在第1列中),该条目使用非ASCII,非UTF8编码,并且我应该将该列中的数据切换为ASCII。如果可能的话,使用UTF8。

例如:
1.用户如何看待它:“书架<C3> que”。
2.通过vim:“Bibliothéque”。
3.少用“Bibliothèque”。

我已经尝试了很多转换和方法(连续数天),但是没有一个能按预期进行转换。

例如 我试图将编码更改为UTF8:

  

iconv -f CP1256 -t UTF-8 index.txt.2
  770>文件index.txt.2
  index.txt.2:UTF-8 Unicode英文文本,但字符   似乎在新文件中已损坏。

但是得到了:1.通过vim:'Biblioth ﺃ¨ que'2.通过更少:'Bibliothأ¨que'。

我检查此文件包含多少非ASCii行,并在文件'index.txt.non_ascii'中获取了包含数百行的输出文件:

  

pcregrep --color ='auto'-n“ [\ x80- \ xFF]” index.txt> index.txt.non_ascii

我还尝试编写一个简短的脚本(在Perl中),以读取数据并将其存储为utf8,但字符串再次损坏。

如果有人可以帮助我解决这个问题,我将不胜感激。

提前谢谢! 迈克

0 个答案:

没有答案
相关问题