文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python几种编码格式的介绍以及设置编码格式的方法

2023-06-02 05:14

关注

本篇内容介绍了“python几种编码格式的介绍以及设置编码格式的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、ASCII 码

计算机存储数据是用0、1存储的,为了存储英文字符等,所以出现了一个ASCII编码表,通过这个表就是把对应的英文转换对应为相应的0、1数据存储到计算机,但是英文只有26个字母,中文有6万多汉字,ASCII编码不够,所以根据需要就出现了unicode、utf-8等编码,实际可以理解为它们把全球的文字编码对应到计算机的0、1来存储识别。

ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:

python几种编码格式的介绍以及设置编码格式的方法

Unicode

Unicode是为了解决传统的字符编码的局限而产生的。对世界上大部分的文字系统进行了编码、整理,使电脑可以更方便的处理和展示文字。Unicode采用16位编码空间,每个字符占2个字节。Unicode的实现方式称为Unicode转换格式

Unicode码扩展自ASCII字元集。在严格的ASCII中,每个字元用7位元表示,或者电脑上普遍使用的每字元有8位元宽。而Unicode使用全16位元字元集。这使得Unicode能够表示世界上所有的书写语言中可能用於电脑通讯的字元、象形文字和其他符号。

不同的编码方式会造成乱码问题,Unicode将世界上所有符号都纳入其中。每一个符号都给予一个编码,这样就就解决了乱码问题。Unicode现在的规模可以容纳100多万个符号,每个符号的编码都不一样,例如U+4E0A表示上,U+4E0B表示下,具体的符号对应表可以查看:http://www.chi2ko.com/tool/CJK.htm

UTF-8

UTF全称(Unicode Transformation Format),所以它是一种针对前面提到的Unicode的编码格式,常见的格式就是 UTF-8,还有 UTF-16, UTF-32。

UTF-8 其中的 8 表示的是 8 bit,即Unicode中每8位表示一个字符,UTF-16 和 UTF-32 类似,因为Unicode最多才21位,32位大于21位,所以 UTF-32 的格式就可以表示所有字符对应的Unicode码了,但是呢,32位也就是4字节,让每个字符都占用4字节太费空间了,所以出现了UTF-8和UTF-16。

UTF-8 编码规则如下:

UnicodebitUTF-8byte
0x0000 - 0x007f0 - 70XXX XXXX1
0x0080 - 0x07ff8 - 11110X XXXX 10XX XXXX2
0x0800 - 0xffff12 - 161110 XXXX 10XX XXXX 10XX XXXX3
0x1 0000 - 0x1f ffff17 - 211111 0XXX 10XX XXXX 10XX XXXX 10XX XXXX4

设置编码格式

Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。解决方法为在文件的开头加入 # -*- coding: UTF-8 -*-或者#coding=utf-8 就行了。

我们要记住写python程序的时候一般使用utf-8编码格式来存储编码格式,网页里面同样的也声明utf-8即可,utf-8是中文、英文、日文等全球文字都可以使用的编码格式,通用性很强。

在Pycharm 中设置编码格式的步骤:File  —>  setting —> File Encodings

python几种编码格式的介绍以及设置编码格式的方法

“python几种编码格式的介绍以及设置编码格式的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯