码迷,mamicode.com
首页 > 其他好文 > 详细

07 字符编码

时间:2019-07-07 14:12:31      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:ash   utf-8   python2   默认   音频   mda   环境   编码   中文   

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

 

07 字符编码

标签:ash   utf-8   python2   默认   音频   mda   环境   编码   中文   

原文地址:https://www.cnblogs.com/ZDQ1/p/11146068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!