编码 - Python 3.6中 'utf-8' codec can't decode byte invalid start byte?
PHP中文网
PHP中文网 2017-04-18 10:25:17
0
4
1024

Python 3.6中,网页信息解析失败,试了很多种编码,查看网页的编码方式也是utf-8。
错误信息:'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte?
还有就是第一个print终端里打印出来的unicode内容是[b'\x1f\x8b\x08\x00\x...]这种格式的,之前也有过这种情况,一个print打2个变量,就是b'\x, 如果分来2行打又变回了汉字。是因为什么原因呢?

# -*- coding: utf-8 -*-
import json , sqlite3
import urllib.request

url = ('http://wthrcdn.etouch.cn/weather_mini?city=%E4%B8%8A%E6%B5%B7')
resp = urllib.request.urlopen(url)
content = resp.read()

print(content)
print(type(content))
print(content.decode('utf-8'))
PHP中文网
PHP中文网

认证0级讲师

모든 응답(4)
阿神

웹사이트에서 gzip 압축 데이터를 반환하는 것을 보았는데, 디코딩이 필요합니다

으아악

伊谢尔伦

요청은 사용하기 쉽지 않나요?

伊谢尔伦

requestet을 사용하는 것이 좋습니다. 코드는 다음과 같습니다.

으아악
阿神

문자 인코딩 문제는 아닙니다. 요청하신 Response 헤더를 살펴보세요

으아악

gzip입니다. 표준 라이브러리를 사용한다면 gzip의 압축을 풀어야 합니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿