当前位置: 首页 > 编程笔记 >

python urllib中的编码处理示例

田曜瑞
2023-03-14
本文向大家介绍python urllib中的编码处理示例,包括了python urllib中的编码处理示例的使用技巧和注意事项,需要的朋友参考一下


>>> import urllib

>>> data = '丽江'

>>> print data

丽江

>>> data

'\xe4\xb8\xbd\xe6\xb1\x9f'

>>> urllib.quote(data)

'%E4%B8%BD%E6%B1%9F'


那我们想转回去呢?

>>> urllib.unquote('%E4%B8%BD%E6%B1%9F')

'\xe4\xb8\xbd\xe6\xb1\x9f'

>>> print urllib.unquote('%E4%B8%BD%E6%B1%9F')

丽江


不同的编码格式对urllib的结果页是有影响的,百度的是gbk,其他的一般网站比如google就是utf8的。所以可以用下列语句实现。

>>> import sys,urllib 

>>> s = '丽江'

>>> urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))

'%C0%F6%BD%AD'

>>> urllib.quote(s.decode(sys.stdin.encoding).encode('utf8'))

'%E4%B8%BD%E6%B1%9F'

>>>


这里的 sys.stdin.encoding 是读取当前环境的编码,这样写的话可移植性高,winnt和xunix都可以用。当然你如果看不惯,也可以替换为自己的环境编码如utf8等。

 类似资料:
  • 我们还必须用数学方式来表示发送器和接收器在对信息进行编解码时所执行的处理。发送器和接收器都将被称为转换器(transducer)。转换器接收一个符号序列(称为输入符号序列),输出另外一个符号序列(称为输出符号序列)。转换器可能具有内部存储器,使其输出不仅依赖于当前的输入符号,还依赖于过去的历史输入。我们假定内部存储器是有限的,也就是说转换器存在m种可能状态(m为一个有限数),且其输出是当前状态和当

  • 请建议我如何在servlet中读取这个编码文本并解码回原始值。

  • 问题内容: 我有一个主要为UTF-8的文件,但是也发现了一些Windows-1252字符。 我创建了一个表,以将Windows-1252(cp1252)字符映射到对应的Unicode对应表,并希望使用它来修复编码错误的字符,例如 但是尝试以这种方式进行替换会导致引发UnicodeDecodeError,例如: 有关如何处理此问题的任何想法? 问题答案: 如您所知,如果您尝试将此字符串解码为utf-

  • 本文向大家介绍在Python中关于中文编码问题的处理建议,包括了在Python中关于中文编码问题的处理建议的使用技巧和注意事项,需要的朋友参考一下 字符串是Python中最常用的数据类型,而且很多时候你会用到一些不属于标准ASCII字符集的字符,这时候代码就很可能抛出UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in positi

  • 一个编码EUC-JP的网站使用GM_xmlhttpRequest请求后,使用encoding.min.js转码后结果不能正常显示 直接请求结果显示乱码,请求结果转码为EUC-JP显示乱码,请求二进制结果,转化为EUC-JP编码,以及再转化为UTF8均显示乱码,如何将结果正常显示日文文字 ⚠️#NSFW#

  • 问题内容: 我正在尝试使用正则表达式搜索网页,但出现以下错误: TypeError:无法在类似字节的对象上使用字符串模式 我知道为什么urllib.request.urlopen()返回一个字节流,因此,至少在我看来,re不知道要使用的编码。在这种情况下我该怎么办?有没有办法在urlrequest中指定编码方法,或者我需要自己重新编码字符串?如果是这样,我想做什么,我假设我应该从标题信息中读取编码