• 编码与解码


    在python内部,字符串使用unicode编码,因此在做编码转换时,需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,这个过程是decode,再从unicode编码成另外一种编码,这个过程是encode。

    decode的作用是将其他编码的字符串转换成unicode,比如str.decode('utf-8')表示将utf-8编码的字符串str转换成unicode编码,这就是我们所说的解码。

    encode的作用是将unicode编码转换成其他编码的字符串,比如str.encode('utf-8')表示将unicode编码的字符串转换成utf-8编码。

    因此,转码的过程一定要先搞明白,字符串str究竟是什么编码的格式,先decode成unicode,再encode成其他编码。

    读取的时候需要解码,即将其他编码转换成unicode,写入的时候需要编码,把unicode编程需要的码

    其中,常见编码格式如下:

    GB2312编码:适用于汉字处理、汉字通信等系统之间的信息交换

    GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码

    ASCII编码:是对英语字符和二进制之间的关系做的统一规定

    Unicode编码:这是一种世界上所有字符的编码。当然了它没有规定的存储方式。

    UTF-8编码:是 Unicode Transformation Format - 8 bit 的缩写, UTF-8 是 Unicode 的一种实现方式。它是可变长的编码方式,可以使用 1~4 个字节表示一个字符,可根据不同的符号而变化字节长度。

     1 示例:
     2 在一个文本中进行两种编码操作时需要编码转换,读取时用decode将文本原来的编码转换成Unicode,写入时用encode将编码转换成需要转换成的编码。
     5 代码如下:
     6 
     7 # -*- coding:utf-8 -*-
     8  
     9 content=u'你好' #Unicode格式字符串
    10  
    11 f1=open('test.txt', 'w')
    12 info1 = content.encode('GBK') #写入时,编码为GBK
    13 f1.write(info1)
    14 f1.close()
    15  
    16 f2 = open('test.txt', 'r')
    17 info2 = f2.read().decode('GBK') #读取时,已知GBK,解码为Unicode
  • 相关阅读:
    利用Python中SocketServer 实现客户端与服务器间非阻塞通信
    Redis单机配置多实例,实现主从同步
    Django(一) 安装使用基础
    数组模拟环形队列
    单链表原理及应用举例
    中缀表达式转换为后缀表达式(思路)
    中缀表达式转后缀表达式(代码实现)及前缀表达式思路补充
    数组模拟栈(Stack)
    双向链表原理及应用举例
    单向环形链表
  • 原文地址:https://www.cnblogs.com/themost/p/6635559.html
Copyright © 2020-2023  润新知