zoukankan      html  css  js  c++  java
  • 编码与解码

    在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
  • 相关阅读:
    【POJ 3162】 Walking Race (树形DP-求树上最长路径问题,+单调队列)
    【POJ 2152】 Fire (树形DP)
    【POJ 1741】 Tree (树的点分治)
    【POJ 2486】 Apple Tree (树形DP)
    【HDU 3810】 Magina (01背包,优先队列优化,并查集)
    【SGU 390】Tickets (数位DP)
    【SPOJ 2319】 BIGSEQ
    【SPOJ 1182】 SORTBIT
    【HDU 5456】 Matches Puzzle Game (数位DP)
    【HDU 3652】 B-number (数位DP)
  • 原文地址:https://www.cnblogs.com/themost/p/6635559.html
Copyright © 2011-2022 走看看