zoukankan      html  css  js  c++  java
  • python编码

    python编码

     

    一、系统默认编码

    python 2.7版本系统默认编码是ascii

    python 3.1版本系统默认编码是unicode

    可以通过内建模块sys获取系统默认编码

    import sys

    print sys.getdefaultencoding()

    有两种方法可以讲系统默认编码变成utf-8

    1、在代码第一行加上  # -*- coding:utf-8 -*-

    2、通过sys模块

    import sys

    reload(sys)

    sys.setdefaultencoding("utf-8")

    二、用decode和encode编码

    几种常见编码

    • GB2312编码:适用于汉字处理、汉字通信等系统之间的信息交换
    • GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码
    • ASCII编码:是对英语字符和二进制之间的关系做的统一规定
    • Unicode编码:这是一种世界上所有字符的编码。当然了它没有规定的存储方式。
    • UTF-8编码:是 Unicode Transformation Format - 8 bit 的缩写, UTF-8 是 Unicode 的一种实现方式。它是可变长的编码方式,可以使用 1~4 个字节表示一个字符,可根据不同的符号而变化字节长度。

    编码转换

    Python内部的字符串一般都是 Unicode编码。代码中字符串的默认编码与代码文件本身的编码是一致的。所以要做一些编码转换通常是要以Unicode作为中间编码进行转换的,即先将其他编码的字符串解码(decode)成 Unicode,再从 Unicode编码(encode)成另一种编码。

      decode 的作用是将其他编码的字符串转换成 Unicode 编码,eg name.decode(“GB2312”),表示将GB2312编码的字符串name转换成Unicode编码

      encode 的作用是将Unicode编码转换成其他编码的字符串,eg name.encode(”GB2312“),表示将GB2312编码的字符串name转换成GB2312编码

    所以在转换之前必须先知道name的编码格式。

  • 相关阅读:
    hdu3709(数位dp)
    2012天津E题
    2012天津C题
    hdu1754(splay)
    赤裸裸的splay平衡树
    hdu(预处理+线段树)
    uva11922(强行用rope替代spaly)
    lightoj 1370 欧拉函数
    poj3294 出现次数大于n/2 的公共子串
    poj2774 后缀数组2个字符串的最长公共子串
  • 原文地址:https://www.cnblogs.com/mmbbflyer/p/6274408.html
Copyright © 2011-2022 走看看