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

    字符编码

    什么是字符编码

    二进制和字符的映射关系

    文本编辑器存取文件原理

    1.打开文本编辑器,相当于在内存中启动了一个进程,所以编辑器写的内容也都是存放在内存中,断电后数据丢失

    2.要永久保存,需要点击保存按钮,按对应编码格式编码后将数据刷入硬盘

    字符编码发展史

    1.最初由美国发展-->ASCII码

    2.其他国家也逐渐使用电脑并形成自己国家的编码格式,如中国gb2312,日本shift等

    3.为了方便国际交流,美国人早出联合编码格式unicode

    4.内存中使用unicode,但是如果用unicode编码数据存入硬盘会占用过多内存,因而内存中是unicode,硬盘是utf8,并且utf8只与unicode有对应关系

    5.未来趋势,内存硬盘都将是utf8

    乱码的两种情况

    1.乱码发生在解码阶段

    数据写入内存编码格式为unicode,存入硬盘编码格式为utf8,但是从硬盘读取数据时解码的格式gbk

    2.乱码放生在编码阶段

    数据写入内存编码格式为unicode(且内容包含多种编码格式),存入硬盘编码格式为gbk,则从硬盘读取数据时无论用什么解码格式均乱码

    解决乱码方法

    用什么编码格式写入就用什么编码格式读取

    window记事本及windows终端都是用gbk格式编码

    python2和python3字符编码的区别

    执行python程序的三个阶段

    1.第一步:启动python解释器,此时解释器相当于一个文本编辑器,从硬盘中读取py文件字符-->解码

    ​ ①python2默认ASCII码解码;python3默认utf8解码

    ​ ②如果写入pycharm中字符用gbk编码,那么想要用python正常读入字符,需加#coding:gbk控制解码格式

    2.解析字符-->报语法/逻辑错误

    3.存储变量,输出(往终端打印)-->字符编码

    1. python2默认用coding头指定的解码格式编码存储变量,也可以u'字符'用unicode格式编码存储变量

      则终端为任何解码格式都不会乱码

    2. python3默认用unicode编码存储变量

  • 相关阅读:
    MyBatis 配置文件 用户密码加密存储
    MyBatis 实例
    mybatis 入门搭建
    文件上传
    struts 结果类型
    Struts 拦截器
    log4j
    Struts Action 控制器
    Struts
    四、常用的Maven命令
  • 原文地址:https://www.cnblogs.com/-406454833/p/11545282.html
Copyright © 2011-2022 走看看