Python 有没有可能;嗅;字符编码?

Python 有没有可能;嗅;字符编码?,python,csv,unicode,character-encoding,Python,Csv,Unicode,Character Encoding,我有一个接受CSV文件的网页。这些文件可以在不同的地方创建。(我认为)没有办法在CSV文件中指定编码-因此我无法可靠地将所有这些文件都视为utf-8或任何其他编码 有没有办法智能地猜测我得到的CSV的编码?我正在使用Python,但也愿意使用与语言无关的方法。只查看文件本身并没有正确的方法来确定文件的编码,但您可以使用一些基于启发式的解决方案,例如:有一些方法,只要您能够忍受错误检测,因为没有100%确定的方法来猜测编码。如果你知道这些文件所用的语言,你可以非常可靠地检测到编码的可能副本-是吗?

我有一个接受CSV文件的网页。这些文件可以在不同的地方创建。(我认为)没有办法在CSV文件中指定编码-因此我无法可靠地将所有这些文件都视为utf-8或任何其他编码


有没有办法智能地猜测我得到的CSV的编码?我正在使用Python,但也愿意使用与语言无关的方法。

只查看文件本身并没有正确的方法来确定文件的编码,但您可以使用一些基于启发式的解决方案,例如:

有一些方法,只要您能够忍受错误检测,因为没有100%确定的方法来猜测编码。如果你知道这些文件所用的语言,你可以非常可靠地检测到编码的可能副本-是吗?它们大部分时间都是英语的,但我不能确定。这应该可以接受任何csv。@shabda如果你是语言不可知论者,那么这可能也算作编码。在这种情况下,如果您只是将数据写入另一个文件中,那么您可以假设
latin1
,因为这会将所有数据“按原样”(字节->unicode)并再次写入(或者,在Py2中,将其保留在
str
而不是
unicode
)。