博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python的编码和解码
阅读量:4304 次
发布时间:2019-06-06

本文共 826 字,大约阅读时间需要 2 分钟。

Python的编码和解码

在不同的国家,存在不同的文字,由于现在的软件都要做到国际化通用,所以必须要有一种语言或编码方式,来实现各种编码的解码,然后重新编码。

在西方国家,没有汉字,只有英文,所以最开始使用的是ASCII编码,只有96个元素,所以用8位(1字节)就能完全表示,但是无法解析中文。

中国有汉字,所以在计算机的发展史上,出现了GB2312、GB18032、GBK等多种编码方式,在汉字上以2个字节存放。

为了能够实现通用,出现了一种标准的编码方式,unicode编码,在unicode编码中,所有的字符/汉字的表示,都用2个或2个以上的字节,比如英文字符,就是2个字节,汉字是2个或4个字节。对于西方国家来说,以前1个字节能够表示的,现在需要2个字节,所占用的空间翻倍了。所以这个时候就出现了unicode的扩展集,utf-8。

Utf-8在表示英文字符上,还是保留1个字节的表示方法,在表示汉字上,使用3个字节来表示。

由于unicode才是所有国家通用的计算机编码方式,所以在不同的编码之间的转换,必须是要先经过unicode,才能再进行编码成其他的编码,比如uft-8、GBK等。

Utf-8/gbk----------------------decode-----------------àunicode

Unicode------------------------encode----------------àutf-8/gbk

在python中使用的默认编码是unicode,所以在python中创建的任何对象,默认的编码方式都是unicode,不能再进行decode,只能进行encode操作。而在文件头部声明的编码方式,只是为了表明,这个文件的编码方式是哪一种,在不同的解释器上运行,编码方式是跟解释器有关。

转载于:https://www.cnblogs.com/bobo137950263/p/9998917.html

你可能感兴趣的文章
获取推送通知的DeviceToken
查看>>
Could not find a storyboard named 'Main' in bundle NSBundle
查看>>
CocoaPods安装和使用教程
查看>>
Beginning Auto Layout Tutorial
查看>>
block使用小结、在arc中使用block、如何防止循环引用
查看>>
iPhone开发学习笔记002——Xib设计UITableViewCell然后动态加载
查看>>
iOS开发中遇到的问题整理 (一)
查看>>
Swift code into Object-C 出现 ***-swift have not found this file 的问题
查看>>
为什么你的App介绍写得像一坨翔?
查看>>
RTImageAssets插件--@3x可自动生成@2x图片
查看>>
iOS开发的一些奇巧淫技
查看>>
常浏览的博客和网站
查看>>
Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
查看>>
iOS在Xcode6中怎么创建OC category文件
查看>>
5、JavaWeb学习之基础篇—标签(自定义&JSTL)
查看>>
8、JavaWEB学习之基础篇—文件上传&下载
查看>>
reRender属性的使用
查看>>
href="javascript:void(0)"
查看>>
h:panelGrid、h:panelGroup标签学习
查看>>
f:facet标签 的用法
查看>>