python中字符编码和解码的理解

主要通过阐述字符编解码的概念和在分析python中遇到的具体场景,来清楚的理解字符编码解码。

概念

首先得理解编码和解码的概念,无论是编码还是解码,也无论是utf8,gbk,unicode,ascii等等其他编解码方式,它们都是针对字符和二进制码而言。计算机只能存储和读取二进制码,而人只能认识字符,而将二进制码和字符进行连接的就是编解码方式。

人:字符 ——编码——> 计算机:二进制码

人:字符 <——解码—— 计算机:二进制码

例子1:记事本

保存原理:通过将输入的字符以指定编码方式(未指定则用系统默认编码方式)编码成二进制码存储到文件中。
读取原理:在显示输入内容之前,对文本中的二进制数据进行编码格式的判定,进而以相应的编码格式进行解码,从而正确的读取和显示内容。

例子2: 网页中的编码

要知道网页这个文件本身的编码格式和网页中声明的编码格式二者之间的区别,二者通常是一致的,但是区分二者能够更加准确的理解网页的编码。

<meta charset='utf-8'>  # 这是网页中声明的编码格式

例子3:python中的编码

之所以会出现一些错误,是因为python读取文件不会自动识别文件的编码格式,而是需要进行指定的,不指定情况下默认是系统编码方式,一旦与文件本身的编码格式不一致就会出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值