为什么将ISO 8859-1嵌入到Unicode Python字符串中?

问题描述 投票:-1回答:1

所以我有一个CSV文件。

当我运行file --mime-encoding file.csv 时,它说它使用的是UTF-8。

但是,当我在Python pandas DataFrame中读取文件并开始查看字符串时,其中一些包含\ xa0(这是Latin1(ISO 8859-1)中的不间断空格)。

此文件包含来自不同网站的信息。

这怎么可能,为什么它们不显示为不间断空格?为什么在写入似乎是UTF-8的文件之前,它们没有正确编码?

python unicode utf iso-8859-1
1个回答
2
投票

怎么可能

文件只是一系列字节。文件完全有可能包含不同编码的字节串。

为什么它们不显示为不间断空格

显示在哪里?它们显示为\xa0

为什么它们在写入似乎是UTF-8的文件之前没有正确编码?

您没有提到CSV的来源,因此无法确定。

[很可能,您的CSV包含来自具有不同编码的来源的数据。您可能需要猜测文件中每一行而不是整个文件的编码。 chardet包可以帮助您猜测正确的编码,但这只是一个猜测。

© www.soinside.com 2019 - 2024. All rights reserved.