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

    1.字符编码
    字符编码针对的是文字无需考虑‘视屏、音频’等

    2.编写文本的过程
    输入的字符 >>>(字符编码表)>>> 二进制数字

    2.1字符编码表:
    就是字符与数字的对应关系
    a 0
    b 1
    a 00
    b 01
    c 11
    d 10

    2.2ASCII码表
    用八位二进制表示一个英文字符 所有的英文字符+符号最多也就在125位左右
    0000 0000
    1111 1111
    2.3GBK
    用2Bytes表示一个中文字符 还是用1Bytes表示一个英文字符
    0000 0000 0000 0000
    1111 1111 1111 1111 最多能表示65535个字符
    2.4万国码unicode
    统一用2Bytes表示所有的字符
    a 0000 0000 0010 1010

    产生的问题:
    1.浪费存储空间
    2.io次数增减,程序运行效率降低(致命)

    额外:
    内存中的编码和硬盘的编码是不一样的

    1.存储数据的过程:
    内存中的unicode(万国码)》》》编码(endode)》》》硬盘中的utf——8格式(该格式是二进制数)
    2.读出数据的过程:
    硬盘中的utf-8二进制数据》》》解码(decode)》》》内存中的unicode(万国码)

    3.乱码:
    当存在硬盘的编码,与运行环境的编码不一致则出现乱码。

    保证不乱码的核心:
    以什么编码,用对应的编码解码即可
    4.python2和Python3中编码的区别:
    4.1python2
    将py文件按照文本文件读入解释器中默认使用ASCII码(因为在开发python2解释器的unicode还没有盛行)

    4.1.2文件头
    # coding:utf-8
    4.2python3

    将py文件按照文本文件读入解释器中默认使用utf-8
    4.3
    补充:
    1.pycharm终端用的是utf-8格式
    2.windows终端采用的是gbk

  • 相关阅读:
    butter
    医院设置
    NOIP 2000 进制转换
    图的M 着色问题
    闭合区域面积统计
    字符序列
    装载问题
    n皇后问题
    跳马问题
    数独
  • 原文地址:https://www.cnblogs.com/ZDQ1/p/11146068.html
Copyright © 2011-2022 走看看