zoukankan      html  css  js  c++  java
  • python中的字符编码

    字符编码需要记住的概念

    1.内存中固定使用的unicode编码 ,我们唯一可以改变的是存储到硬盘时使用的编码格式

    2.要想保证存储的文件不乱码,应该保证文件当初是什么编码格式格式存的,就以什么编码格式读取

    Unicode-------编码----gbk
    unicode《------解码-------gbk
    python2通过文件头指定文件编码

    #coding:gpk & utf-8

    GBK:用2Bytes表示一个中文字符,1Bytes去表示英文字符
    utf-8 用1Bytes表示英文,用3Bytes表示中文 #默认使用
    unicode:内存中使用的是unicode编码,unicode把全世界的字符
    都建立好对应关系用2Bytes去表示一个字符
    ASCII码表:用1Bytes表示一个英文字符,1英文字符=8bit=1Bytes

    美国人用的

    python3 默认使用编码是utf-8

    Python2 默认使用编码是 Ascll

    在python2中有两种字符串编码格式
    1.unicode:
    x=u’上‘ 字符前面加u
    2.unidoce编码后
    x=’上‘ 若果文件头 coding:utf-8那么上被存成utf-8格式

    python3中只要一种字符串编码格式
    1.unicode
    x=’上’

    2.编码与解码
        unicode----------编码encode-----》gbk

        unicode《-------解码decode-----gbk

    总结python3
    在pyhton2中的字符串类型str都是unicode按头文件指定编码
    在python2中也可以制造unicode,需要在字符串前加u       

    现在统一默认都是使用utp-8编码,避免出现乱码


    在python3中字符串类型str都是unicode编码的
    所有python3中的字符串类型可以编码成其他字符编码格式,

    编码的结果是Bytes类型

  • 相关阅读:
    OpenGL学习之路(四)
    OpenGL学习之路(三)
    ajax请求成功后新开窗口window.open()被拦截解决方法
    Mysql日志解析
    Kibana+Logstash+Elasticsearch 日志查询系统
    谈谈Redis的SETNX
    常用前端开发工具合集
    Media Queries 详解
    启动mysql时显示:/tmp/mysql.sock 不存在的解决方法
    找不到mysql.sock,mysql.sock丢失问题解决方法
  • 原文地址:https://www.cnblogs.com/Marcki/p/10111971.html
Copyright © 2011-2022 走看看