zoukankan      html  css  js  c++  java
  • [python 学习] 编码

    一、源文件编码(encoding: utf-8)

    1、

    python 2.x 默认按ascii编码读取源文件,源码中出现了ascii不能表示的字符 "的",所以报错(3.x版本不报错)。

    2、

    源码中加上 encoding: utf-8,此时允许源文件中出现非ascii字符,但是在windows的DOS中输出时还会再转码(此处转为GBK)。 

    3、

    源文件的编码和dos的输出编码都是GBK,这时内容一致。

    同上。

    二、字符串编码

    1、字符串存储的默认编码:

    python 2.7

    python 3.3.3

    2、unicode对象和普通字符串str

    对 s 按 utf-8 解码到unicode对象,再对unicode对象按gbk编码。

    直接对str字符串按gbk编码出错,是因为字符串的默认编码(python 2.7)是ascii,默认执行 s.decode('ascii').encode('gbk'),所以出错。

    设置了字符串默认编码为utf-8,不会再报错。

    python中我们使用decode()和encode()来进行解码和编码
    在python中,使用unicode类型作为编码的基础类型。即:
          decode           encode
    str--------->unicode--------->str

    适用 python 2.x , python 3.x 又变了,一个版本一个语言。

    三、basestring、str、unicode

    3.1 str 和 unicode 都是 basestring 的子类:

     3.2 使用 str 创建 unicode 对象:

    参见:http://www.cnblogs.com/evening/archive/2012/04/19/2457440.html

  • 相关阅读:
    HTTP 无法注册URL 进程不具有命名空间的访问权限
    逆变与协变详解
    正式学习React(五) react-redux源码分析
    正式学习React(四) ----Redux源码分析
    正式学习react(二)
    工作总结
    如何自定义echarts 线性图的选择事件
    viewport大白话
    关于div可编辑的复制粘贴问题
    nginx学习
  • 原文地址:https://www.cnblogs.com/natian-ws/p/7779077.html
Copyright © 2011-2022 走看看