IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python——字符编码 -> 正文阅读

[Python知识库]python——字符编码

在这里插入图片描述

字符编码

字符编码简介

由于计算机内部只识别二进制,但是用户(全球人类)在使用计算机的时候可以看到各式各样的语言,所以这中间必须对不同语言进行‘翻译’,计算机才能识别,这个翻译的标准就是字符编码表,数字和字符一一对应。

‘翻译’过程

  • 用户 → 计算机 → 用户
  **字符 → 数字 (01二进制)→ 字符**

字符串编码发展史

👉[ASCII](ASCII_百度百科 (baidu.com)

1.ASCII码

计算机最初是由美国人发明的,美国人为了能狗让计算机识别英文字符,发明了ASCII码,里面记录了英文与数字对应关系。如下图:

在这里插入图片描述

  • 所由英文字符和符号加起来不超过127个
  • 使用八位表示是为了后续发现新的语言

字符对应关系

  • A-Z:65-90
  • a-z:97-122

在python中,用ord()方法查看字符对应的数字(十进制)

在这里插入图片描述

2.汉字编码 ——GBK

为了让计算机能够识别中文,发明了另外一套编码,GBK
GBK编码表记录了中文英文与数字的对应关系。

  • GBK对于英文使用一个字节
  • GBK对于中文使用两个甚至更多字节

注:比如,简体中文常见的编码方式是 GB2312,使用两个字节表示一个汉字,所以理论上最多可以表示 256 x 256 = 65536 个符号,所以两个字节其实也不够表示出所有的中文,遇到生僻字可能需要更多位来表示。

3.日文编码 ——Shift_JIS

为了让计算机能够识别日文,也需要发明一套编码表,
Shift_JIS编码表记录了日文英文与数字的对应关系。

4.韩文编码 ——EUC-KR

为了能够让计算机识别韩文,需要发明一套编码表,
EUC_KR编码表记录了韩文英文与数字的对应关系。

5.万国码 ——Unicode

Unicode简介

Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8TF-16UTF-32都是将数字转换到程序数据的编码方案,统一使用两个及以上字符记录字符与数字的对应关系。

UTF-8

UTF-8为万国码的优化版本,将英文用一个字节存储,将中文用三个字节或更多版本存储。我们默认使用的编码为UTF-8。

字符编码实操

1、如何解决乱码的情况

#文件当初以什么标准编码,打开的时候就以什么标准解码

2、python解释器版本不同带来的编码差异

  • 由于Python2.X比Unicode发明早,所以内部默认使用ASCII

在这里插入图片描述

3、在使用python2.x编程时,必须加上文件头。如果定义字符串需要在字符串前加一个小u。

在这里插入图片描述

4、python3.X内部使用的是utf-8

5、在pycharm中如何定义文件头模板(python2版本可用)

在这里插入图片描述
在这里插入图片描述

步骤:file>>settings>>Editor>>file and code templates >>python script

代码演练

  • 编码与解码的过程
  • encode-编码:将人类能够读懂的字符转换成数字
  • decode-解码:将数字转换成人类能够读懂的字符

实例如下:

s = '我要坚持学python!'
#编码
res = s.encode('utf8')
print(res,type(res))
#解码
res1 = res.decode('utf8')
print(res1,type(res1))

#结果
b'\xe6\x88\x91\xe8\xa6\x81\xe5\x9d\x9a\xe6\x8c\x81\xe5\xad\xa6python\xef\xbc\x81' <class 'bytes'>
我要坚持学python! <class 'str'>

在这里插入图片描述
最后,感谢您的阅读。您的每个点赞、留言、分享都是对我们最大的鼓励,笔芯~

如有疑问,欢迎在评论区一起讨论!

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-28 22:52:51  更:2021-12-28 22:54:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:29:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码