python基础知识之字符编码

Posted zs-learn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础知识之字符编码相关的知识,希望对你有一定的参考价值。

  字节与字符:计算机存储的数据,不管是文本、音频、视频、软件等都是以二进制文件保存,二进制一个字节序列为8个byte位。而字符是显示在屏幕上的一个英文字母、标点等。

  编码与解码:将编辑器内打开看到的一个个字符保存在磁盘时是以二进制字节序列形式保存起来的,从字符到字节的转换叫做编码(encode),从字节到能显示的字符叫解码(decode)。

  python3编码问题:默认情况下,Python源文件以UTF-8编码。在这种编码中,世界上大多数语言的字符可以同时在字符串文字、标识符和注释中使用——尽管标准库只使用ASCII字符作为标识符,这是任何可移植代码都应该遵循的约定。为了正确地显示所有这些字符,您的编辑器必须认识到该文件是UTF-8,并且必须使用支持文件中所有字符的字体。要声明除默认值之外的编码,应该添加一条特殊的注释行作为文件的第一行。其语法如下:# -*- coding: encoding -*- 。python库codecs支持编码,比如,当想要使用Windows-1252字体时,我们可以在代码第一行加上:# -*- coding:cp1252 -*-

  encode与decode函数的使用:在python3中,文本字符与二进制数据分别用str和bytes表示。在字符引号前加b标记,就能申明一个bytes类型对象,bytes类型可以用ASCII范围内的字符和其他十六进制形式字符表示,但不能用中文等非ASCII字符表示。由于网络数据传输时一般是bytes,因此进行可以用encode函数将str类型转换成bytes类。如:

  str1=‘你好’

  bytes1=str1.encode(‘utf-8’)

  同理,亦可以用decode函数将bytes转换成str。亦可以用bytes(str1,‘utf-8’)来转换。

以上是关于python基础知识之字符编码的主要内容,如果未能解决你的问题,请参考以下文章

Python全栈开发之Python基础-字符编码与转码

python基础之字符编码

python基础之字符编码

python基础之字符编码

Python基础之 一 字符编码及转换

python基础之编码问题