dan*_*ast 5 csv unicode encoding utf-8 text-files
我正在读取一个文本文件,我猜它是用 utf-8 编码的。但有些行只能解码为 latin-1。我想说这是非常糟糕的做法,但无论如何我必须应对它。
我有以下问题:
第一:如何“猜测”文件的编码?我已经尝试过enca,但在我的机器上:
enca --list languages
belarussian: CP1251 IBM866 ISO-8859-5 KOI8-UNI maccyr IBM855 KOI8-U
bulgarian: CP1251 ISO-8859-5 IBM855 maccyr ECMA-113
czech: ISO-8859-2 CP1250 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
estonian: ISO-8859-4 CP1257 IBM775 ISO-8859-13 macce baltic
croatian: CP1250 ISO-8859-2 IBM852 macce CORK
hungarian: ISO-8859-2 CP1250 IBM852 macce CORK
lithuanian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
latvian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
polish: ISO-8859-2 CP1250 IBM852 macce ISO-8859-13 ISO-8859-16 baltic CORK
russian: KOI8-R CP1251 ISO-8859-5 IBM866 maccyr
slovak: CP1250 ISO-8859-2 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
slovene: ISO-8859-2 CP1250 IBM852 macce CORK
ukrainian: CP1251 IBM855 ISO-8859-5 CP1125 KOI8-U maccyr
chinese: GBK BIG5 HZ
none:
Run Code Online (Sandbox Code Playgroud)
这不足以检测 latin-1。顺便问一下:如何增加 的可用语言列表enca?
第二:是否可以使用不同的编码对文件进行部分编码?我认为,从技术角度来看,这是很有可能的:只需对文件的不同部分使用不同的编解码器即可。你见过这个吗?您将如何处理读取这样的文件?您会尝试使用不同的编码来解码每一行吗?你会怎么做呢?我实际上正在使用 python,如果有一个处理多重编码的例子,我将不胜感激。
第三:您通常如何处理您不知道其使用的编码的文件?从不同来源下载文本文件时,我经常遇到这个问题。它们通常是从电子表格(我猜是 Excel)导出的 CSV 文件,但根据导出参数,它们使用一种编码或另一种编码,没有提示选择了哪种编码,所以我不得不猜测。
| 归档时间: |
|
| 查看次数: |
4667 次 |
| 最近记录: |