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

    字符编码:
      字符转换成数字
      编码的过程一定要遵循一个标准,该标准称之为字符编码表

      字符>>>>编码>>>>数字
      数字>>>>解码>>>>字符
    文本编辑器读一个文件的3个过程
      先启动文本编辑器,文本编辑器会将文件内容读入内存
      将读入内存的内容打印到屏幕上
    python解释器执行一个py文件的3个过程
      先启动python解释器,python解释器会将py文件的内容当作普通文本内容读入内存,python解释器执行刚刚读入内存的代码,识别python语法


    ASCII表:只能识别英文字符,只有英文字符与数字的对应关系
      用8bit对应一个英文字符
      一个英文字符对应1Bytes

    GBK表:只能识别中文字符,英文字符
      一个英文字符对应1Bytes
      用16个Bit对应一个中文字符
      一个中文字符对应2Bytes

    Unicode:内存中默认使用该编码,用2Bytes表示一个字符
      可以识别万国字符
      与各种字符编码的二进制数字都有对应关系


    UTF-8全称Unicode Transformation format
      一个英文字符>>>1Bytes
      一个中文字符>>>3Bytes


    结论
      Unicode二进制>>>>编码>>>>UTF-8二进制
      Unicode二进制>>>>解码>>>>UTF-8二进制

    内存中固定使用Unicode编码,我们可以改变的是数据由内存刷到硬盘时采用的编码,应该才有UTF-8

    解决乱码问题的核心:
      字符当初以什么编码存的,就应该以什么编码去读
      保证python程序前两个阶段不乱码的解决方案:
      添加文件头,在文件首行添加#coding:文件当初存的字符编码

      python2的字符串前加u
      x=u“sss”

      python默认UTF-8
      python默认ASCII

      #coding:gbk

  • 相关阅读:
    PHP输出日志,json美化
    php获取项目路径
    16进制颜色,正则
    doctrine/instantiator
    cn.archive.ubuntu.com 慢的问题
    yzalis/identicon 像素头像
    Shell 判断进程是否存在
    shell 2>&1
    shell 判断是否继续
    shell
  • 原文地址:https://www.cnblogs.com/xuezhihao/p/10008688.html
Copyright © 2011-2022 走看看