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

    字符编码:人识别的语言不机器识别的语言转换的媒介
    字符与字节:字符占多少字节,字符串转换
    文件操作:操作硬盘中的一块区域(读写)


    什么是字符编码;
    人类能识别的是字符等高级标识符,电脑只能识别0,1组成的标识符,要完成人与计算机之间的交互,
    一定要一个媒介,进行两种标识符的转化(两种标识符的对应关系)
    对应关系形成的结构称之为:编码表

    乱码:存取数据与读数据采用的编码表不一致

    软件打开文件读取数据的流程;
    1,打开文件
    2,计算机发送一个打开文件的指令,来打开文件
    3.读取数据渲染给用户


    python解释器打开.py文件
    1,打开软件(python解释器)
    2,往计算机发送一个打开文件的指令,来打开文件
    3,逐行解释打开的文件内容(存取编码不一样,无法正常解释,崩溃),将执行结果展示给用户

    解释失败的原因:
    py2默认安asicc来解释文件内容,py3默认按照utf-8来解释文件内容

    文件开头:encoding:编码表
    功能:告诉python解释器按照什么编码来解释文件内容

    unicode与utf-8的关系
    unicode:用2个字节存储汉字,用2个字节来存储英字母。占有空间较多,读取效率极高
    utf-8:是用3-6个字节来储存汉字,用一个字节来存储英字母,占有空间较少,读取效率低
    总结:内存都是按照unicode存储数据,硬盘和cpu采用utf-8来存储数据

    unicode与utf-8采用的是一张unciode编码表,utf-8是unciode编码表体现方式,变长存储数据
    变长优点:(大量数据都是以英文存在,所以utf-8空间更小),传输速度跟快


    unciode三大字符串
    r''原义字符串:不对字符串内存做任何操作
    r'abc abc'=======>>'abc abc'
    u''默认字符串:u''.encode('utf-8')编码d''字节字符串:d''.decode('utf-8')解码

  • 相关阅读:
    java 反射 报错:Attempt to get java.lang.Integer field "..." with illegal data type conversion to int
    经常报错:Communications link failure
    解析Excel
    spring+atomikos+mybatis 多数据源事务(动态切换)
    mysql 存储过程
    Ace Admin 学习笔记
    spring mvc 表单提交 乱码
    spring 事务
    基于注解的Spring多数据源配置和使用(非事务)
    javaEE版本的eclipse中导入工程,发现server里面找不到工程,根本发布不了也不能运行
  • 原文地址:https://www.cnblogs.com/wangtenghui/p/10600314.html
Copyright © 2011-2022 走看看