python - ulipad爬网页时中文为何是16进制?
怪我咯
怪我咯 2017-04-18 10:29:31
0
2
527
#! /usr/bin/env python
#coding=utf-8
import urllib

url = "http://www.tust.edu.cn"
content = urllib.urlopen(url).read()
print content

python初学者,也是编程初学者。
上面是代码,用python2.7编译的时候网页上的中文可以正常显示,但是用ulipad编译的时候,网页中的文字就是以16进制的方式显示的。请问这个是什么问题?

我搜索的时候,看到有的回答说是在代码后面加上encode

然而我在content后面接encode('utf-8')或者encode('gb2312')的时候都会提示报错

ascii codec can't decode byte 0Xef in position 0:ordinal not in range

我查了一下,找到了下面这个网址

http://blog.csdn.net/qian_f/a...

好像是说是字符编码不统一的问题。紧接着我查了一下read返回的好像就是byte string呀....

求各位大神解答...

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(2)
刘奇

Ma compréhension personnelle est que l'encodage par défaut de read() ne peut pas analyser le contenu de la page Web. Vérifiez les informations et essayez de spécifier l'encodage entre parenthèses de read. Il ne devrait pas être nécessaire d'utiliser encode

.
阿神

unicode.encode(content,'utf-8');

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal