• 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的编码格式。

  • 相关阅读:
    【洛谷 1536】村村通
    【洛谷 1551】亲戚
    【UOJ 300】感冒病毒
    【洛谷 2299】Mzc和体委的争夺战
    【洛谷 3371】模板_单源最短路径(弱化版)
    【洛谷 2910】寻宝之路
    【洛谷 1359】租用游艇
    【UOJ 275】最短路径问题
    【UOJ 38】 股票经济人通信网络
    【UOJ 276】无向图最小环
  • 原文地址:https://www.cnblogs.com/mmbbflyer/p/6274408.html
Copyright © 2020-2023  润新知