美文网首页
Python字符编码

Python字符编码

作者: shuhanghang | 来源:发表于2019-10-10 18:16 被阅读0次

一.常见编码

ASCII:使用单个字节表示字符,最高位为0,最多能表示128个字符(数字+字母+特殊符号)
GB2312:使用两个字节表示字符,兼容ASCII编码,能表示中文
Unicode:通常用两个字节表示字符,表示多种语言
UTF-8:针对 Unicode的一种可变长度字符编码,用一到四个字节表示字符,兼容ASCII编码,能表示多种语言

二.python2编码

1.字符串类型
str:一般都为str类型,类似bytes,该类型的字符串decode()后为unicode类型
unicode:使用'u'声明或使用unicode()函数创建字符串,该类型的字符串encode()后得到str类型

2.类型转换关系图

3.查看python2默认编码

>>> import sys
>>> reload(sys)
<module 'sys' (built-in)>
>>> sys.getdefaultencoding()
'ascii'

sys.setdefaultencoding()设置默认编码

4.检测创建字符串编码

>>> import chardet
>>> a='a'
>>> type(a)
<type 'str'>
>>> chardet.detect(a)
{'confidence': 1.0, 'language': '', 'encoding': 'ascii'}
>>> a='测试'
>>> chardet.detect(a)
{'confidence': 0.7525, 'language': '', 'encoding': 'utf-8'}

默认的当字符串为数字字母或特殊符号为ASCII编码,包含中文为UTF-8编码

三.python3默认编码

1.字符串类型
str:类似python2 unicode类型,该类型的字符串encode()后得到bytes类型
bytes:类似pytho2 str类型,该类型的字符串decode()后为str类型
bytearray:可变的整数序列

2.查看python3默认编码

>>> import sys
>>> sys.getdefaultencoding()
'utf-8'

sys.setdefaultencoding()设置默认编码

四.实例

python3爬虫requests.get解析到的HTML是似Unicode类型的字符串

>>> import requests
>>> url = r'https://s.search.bilibili.com/cate/search?callback=jqueryCallback_bili_8033182213391138&main_ver=v3&search_type=video&view_type=hot_rank&order=click&copy_right=-1&cate_id=163&page=1&pagesize=100&jsonp=jsonp&time_from=20191001&time_to=20191031&_=1570496516751'

>>> res_html=requests.get(url).content    #content属性返回的二进制数据
>>> type(res_html)
'<class 'bytes'>'
>>> print(res_html)
b'tag:\\u7bee\\u7403,\\u4f53\\u80b2'    #截取片段
>>> print(res_html.decode('unicode-escape'))    #将类型为bytes含unicode编码的字符串解码为中文
'tag:篮球,体育'

>>> res_html=requests.get(url).text    #text属性返回的是Unicode类型数据
'<class 'str'>'
>>> print(res_html)
'tag:\\u7bee\\u7403,\\u4f53\\u80b2'     #截取片段
>>> print(res_html.encode().decode('unicode-escape'))    #将类型转换成bytes再解码unicode为中文
'tag:篮球,体育'

相关文章

  • python 高级方法

    Python的字符串类型 字符编码方法 查看Python中的字符串编码名称,查看系统的编码 源文件字符集编码声明:...

  • python编码

    python编码 python编码简介 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,...

  • json与python

    Python 对象编码成 JSON 字符串 json.dumps 用于将 Python 对象编码成 JSON 字符...

  • Python中的字符串编码

    Python中的字符串编码 定义字符串 Python 中存在两种编码方式的字符串:ASCII 和 Unicode。...

  • python学习随便

    Python学习__字符串编码 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()...

  • python 介绍 基本语法和流程控制

    python2 采用ascii字符集编码,python3 采用utf-8字符集编码 python 变量名:name

  • 学习任务

    1.python有关字符编码

  • 13.Python之字符编码

    Python之字符编码 字符编码字符编码记录的是二进制与文字的对应关系。 常见的字符编码ASCII码:包含英文字母...

  • Python编码问题

    默认编码 字符串 python2 文本字符串默认编码是ASCII,中文默认UTF-8python3 文本字符串默认...

  • Python基础之文件处理(二)

    Python基础文件处理 python系列文档都是基于python3 一、字符编码 在python2默认编码是AS...

网友评论

      本文标题:Python字符编码

      本文链接:https://www.haomeiwen.com/subject/zovapctx.html