zoukankan      html  css  js  c++  java
  • 编码转换

    python2

    • python2默认编码ascIII
    • 字符串编码默认ASCII编码
    • py2有Unicode类型,encode后才是字符型
    • 所以要表示中文,要在开头声明,以此种编码解码到内存,而且内存上的也是此种编码,这样的话在Windows上就可能是乱码的了 eg: #! -- coding: utf-8 -- or #!encoding:utf-8
  • 手动转码
      - UTF-8 --> decode 解码 --> Unicode - Unicode --> encode 编码 --> GBK / UTF-8 .. bytes 

      **python3 **

      • python3默认编码utf-8
      • 字符串编码默认Unicode
      • py3没有Unicode类型,只有str类型
      • 解释器找到代码文件,把代码字符串按文件头定义的编码加载到内存,自动转成unicode
      • 把代码字符串按照语法规则进行解释,
      • 所有的变量字符都会以unicode编码声明
      • 把unicode编码后,字符串就变成了bytes格式,必须得是unicode编码,才显示字符
      • 内存为Unicode,但存储到硬盘,却要转换成utf-8,是为了存储传输

        为什么在py3里,把unicode编码后,字符串就变成了bytes格式? 你直接给我直接打印成gbk的字符展示不好么?我想其实py3的设计真是煞费苦心,就是想通过这样的方式明确的告诉你,想在py3里看字符,必须得是unicode编码,其它编码一律按bytes格式展示。

      注意:

      • 所有系统都支持Unicode
      • chr(97) >>>"a" #转换ASCII码
查看全文
  • 相关阅读:
    指针加减法运算的“定义域”
    将main()进行到底
    带命令行参数的main函数的误解[到处转载的垃圾]
    亡羊补牢还是越错越远——“C99允许在函数中的复合语句中定义变量”
    会错意表错情,搭错车上错床——“度日如年”的故事及“feof()”的故事
    狗屁不通的《C语言详解:什么是表达式、语句、表达式语句?》
    已知两边长求三角形面积
    用驴子拖宝马——怎样滥用结构体
    糟蹋好题——魔方阵问题
    怎样建立链表并同时造成内存泄露
  • 原文地址:https://www.cnblogs.com/leiyiming/p/12880260.html
  • Copyright © 2011-2022 走看看