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

    day07字符编码复习:
    1. 字符编码:字符编码就是字符与数字的对应关系表

    计算机要想工作必须通电,即用‘电’驱使计算机干活,也就是说‘电’的特性决定了计算机的特性。
    电的特性即高低电平(人类从逻辑上将二进制数1对应高电平,二进制数0对应低电平),
    关于磁盘的磁特性也是同样的道理。结论:计算机只认识数字

      很明显,我们平时在使用计算机时,用的都是人类能读懂的字符
    (用高级语言编程的结果也无非是在文件内写了一堆字符),如何能让计算机读懂人类的字符?

      必须经过一个过程:
      #字符--------(翻译过程)------->数字
      #这个过程实际就是一个字符如何对应一个特定数字的标准,这个标准称之为字符编码


    ASCII:只能识别英文字符,1Bytes=1英文字符
    GBK:可以识别中文字符与英文字符串,2Bytes=1中文字符 1Bytes=1英文字符
    Unicode
    1. 能够兼容万国字符
    2. 与其他任意编码的二进制数都有映射关系
    unicode格式------编码encode------->GBK格式的二进制数
    GBK格式的二进制数-------解码decode------->unicode格式
    UTF-8:unicode的转换格式,3Bytes=1中文字符 1Bytes=1英文字符

    2. 在python中字符编码的应用:
    1. 保证执行python程序的前两个阶段不乱码,加文件头
    在文件的首行写入: #coding:文件存的时候用的编码
    2. 字符串类型演变:
    python2有两种"字符串"相关类型:
    种类一:#coding:gbk,x='上' # '上'存成了GBK编码后的二进制
    种类二:x=u'上' # '上'存成了unicode编码后的二进制

    python3有两种"字符串"相关类型
    x='上' # '上'存成了unicode编码后的二进制
    res=x.encode('gbk') #gbk格式的二进制

    3. 总结:
    1. 保证不乱码的核心法则:以什么编码存的就应该以什么编码取
    2. 在python2中定义字符串,应该加上前缀u,比如x=u'你好'
    3. 在编写python文件时,必须加文件头:#coding:文件存的时候用的编码

    英文字节 中文字节
    unicode 2 2
    utf-8 1 3
    gbk 1 2
    ascii 1
  • 相关阅读:
    在Ubuntu中通过update-alternatives切换软件版本
    SCons: 替代 make 和 makefile 及 javac 的极好用的c、c++、java 构建工具
    mongodb 的使用
    利用grub从ubuntu找回windows启动项
    How to Repair GRUB2 When Ubuntu Won’t Boot
    Redis vs Mongo vs mysql
    java script 的工具
    python 的弹框
    how to use greendao in android studio
    python yield的终极解释
  • 原文地址:https://www.cnblogs.com/du-jun/p/9670818.html
Copyright © 2011-2022 走看看