首页 > 编程语言 >聊聊python的字符编码

聊聊python的字符编码

时间:2023-05-22 17:11:55浏览次数:46  
标签:编码 计算机 字符 python 符号 Unicode 格式 聊聊

什么是字符编码?

  在计算机内部,所有的数据都是二进制形式存储的,无法直接存储我们人类的语言文字符号等,所以我们需要制定一种转换规则来明确计算机内部二进制与我们的数字符号文字之间的对应关系,这就出现了‘字符编码’。

字符编码的发展史

阶段一

  现代计算机起源于美国,所以最先考虑仅仅是让计算机识别英文字符,于是诞生了ASCII表。ASCII是一种基于拉丁字母的字符编码,主要用于美国的英语通信领域,它只定义了128个字符,包括数字、字母、标点符号和控制字符等。详见下图:

阶段二

  再之后计算机开始流入中国等国家,而各个国家都有自己的字符,为了让计算机可以识别自己国家的字符,在英文字符的基础上,各个国家制定了各自的字符编码表,例如:

  中国制定了GBK表(一个中文字符对应2bytes),日本的Shift_JIS表,韩国的Euc-kr表等...

阶段三

  计算机发展到这个时候,字符编码可谓是五花八门,这也就导致了一个问题,各个国家在交流时会转发文件,而编码格式的不同会导致计算机打开文件时出现乱码,这大大影响了各国的交流,所以我们需要一个可以包容各国语言的字符编码表,也就是现在的unicode表。

  Unicode表于1990年研发,1994年正式公布,是一个比较新的编码标准,它将世界上所有的符号都纳入其中,有容纳65535个符号的能力。Unicode支持多种语言同时使用,并为每个字符分配唯一的标识码,它能够满足各种语言书写和文化需求。

  值得注意的是,很多地方老的系统或应用软件仍采用各种各样传统的编码,这种历史遗留问题使得以前的文件都是以旧编码格式存储与硬盘之中,而内存想获取数据并不乱码就需要保证编码格式兼容,这也就是Unicode编码的强大之处,它不光包含了万国的编码而且与之前的其他编码存在相对应的转换关系。

 

编码与解码

 

这里添加一个概念:UTF-8

 

 

 

 

标签:编码,计算机,字符,python,符号,Unicode,格式,聊聊
From: https://www.cnblogs.com/Cai-jia-hui/p/17421129.html

相关文章

  • 比较不同Python图形处理库或图像处理库的异同点
    python的图像处理库有很多种比如:pillow库、Numpy库、Scipy库、opencv库、pgmagic库等其中较常用的是NUmapy库、pillow库、openCV库,今天我们就这三种图像处理库来进行比较首先是numapy库;他是一个python库可以帮助我们处理所有类型的科学计算,他是在执行任何数据预处理或数据科......
  • Python中for循环
    在Python中,for循环用于遍历可迭代对象(如列表、元组、字符串等)中的元素,并执行相应的操作。for循环的基本语法如下:forelementiniterable:#执行操作其中,element是一个变量,用于存储每次循环迭代的元素值,iterable是一个可迭代对象,包含一系列元素。以下是一个简单的示例,演示如......
  • AcWing901. 滑雪(python)
    题目详情知识点记忆化DP思路自己的思路(仅参考):一开始想的是找最大值,然后从最大值开始向下滑,但是我们是要求最长路径,不一定是从最高的点滑下去的,也不一定是滑到最低点,而且会存在最大值不止一个的情况,所以我们应该是针对每一个点,都求出当前该点出发能去的最长路径,然后求完之后......
  • Python竖版大屏 | 用pyecharts开发可视化的奇妙探索!
    你好!我是@马哥python说,一枚10年程序猿......
  • Java网络编程----通过实现简易聊天工具来聊聊NIO
    前文我们说过了BIO,今天我们聊聊NIO。NIO是什么?NIO官方解释它为NewlO,由于其特性我们也称之为,Non-BlockingIO。这是jdk1.4之后新增的一套IO标准。为什么要用NIO呢?我们再简单回顾下BIO:阻塞式IO,原理很简单,其实就是多个端点与服务端进行通信时,每个客户端有一个自己的socket,他们与服......
  • 聊聊5G云专线
    前几天看到一篇关于某互联网大厂5G云专线的文章(链接在文末),结合之前热议的国资云事件,有了一些新的思考。通过本文,和大家分享探讨一下。我们从今天文章的标题开始说起吧。5G、云、专线,分开的3个词,作为通信人,大家应该都懂(专线可能陌生一点)。但是,合起来之后,我估计很多人开始发懵了,啥是......
  • python控制微信发消息
    使用pyautogui控制PC版微信,发消息。importpyautoguiimporttimedefOpen_Wechat():#使用快捷键打开微信。这个微信的默认设置的快捷键。pyautogui.hotkey('ctrl','alt','w')time.sleep(1)defChat_Who(ContactPerson):#使用快捷键打开查找,找一个......
  • <Python全景系列-1> Hello World,1分钟配置好你的python环境
    《从此开始:1分钟配置好你的python环境》欢迎来到我们的系列博客《Python360全景》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。这是我......
  • < Python全景系列-2 > Python数据类型大盘点
    欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。Python作为一门强大且灵活的编程语言,拥有丰富......
  • < Python全景系列-3 > Python控制流程盘点及高级用法、神秘技巧大揭秘!
    欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。这是系列第三篇,在这篇文章中我们将全面深入地......