非常奇怪的字节串。无法使用Python转换为str

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

此代码几周前运行良好。但是情况有所改变。

我从网站下载数据。

txt = urlopen(url, timeout=60).readlines()
for line in txt:
    print(line.strip().decode("utf-8"))

UnicodeDecodeError:'utf-8'编解码器无法解码位置的字节0xc00:无效的起始字节

打印(txt)给我:

[b'\ xc0 \ xe2 \ xf2 \ xee \ xec \ xe0 \ xf2 \ xe8 \ xf7 \ xe5 \ xf1 \ xea \ xe0 \ xff \ xe7 \ xe0 \ xe3 \ xf0 \ xf3 \ xe7 \ xea \ xe0 \ xed \ xe5 \ xe4 \ xee \ xf1 \ xf2 \ xf3 \ xef \ xed \ xe0']

我试图通过在线转换器识别出此字节字符串,但他们无法做到这一点。

也许这很重要。此代码从

下载股票行情

https://www.finam.ru/profile/moex-akcii/nlmk-ao/export/?market=1

在我的帮助下,我较早收到了这样的台词

NLMK,D,20200103,000000,143.9800000,144.7400000,143.3000000,144.5000000,4578730NLMK,D,20200106,000000,144.4800000,144.4800000,140.8800000,141.9400000,6600390NLMK,D,20200108,000000,139.0000000,139.5000000,137.8000000,139.5000000,9260390NLMK,D,20200109,000000,139.2000000,143.6000000,139.2000000,141.9600000,10108630NLMK,D,20200110,000000,142.5400000,145.1200000,140.8000000,143.6200000,9444490NLMK,D,20200113,000000,143.7000000,146.9800000,142.4800000,146.8400000,7138040

python byte
1个回答
1
投票

如果您查看了页面源,您会注意到:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

此页面根本不在UTF-8中,如果您使用Windows-1251对该字节字符串进行解码,则会得到一个字符串:Автоматическая загрузка недоступна。从你的名字我想你应该了解俄语...

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