Python基础之 一 字符编码及转换

python2 / python3编码转换

先上图一张:

说明:python编码转换的流程是 先进行decode解码,然后进行encode编码

解释:

u‘你好‘  -->带u表示为unicode编码

b‘\xc4\xe3\xba\xc3‘   --> 带b的表示bytes类型
由于utf8 是unicode的扩展,所以unicode和utf8之间是可以直接打印

注意:所有decode动作都是将已编码文件解码为unicode,然后在进行其他编码格式转换(通过encode)

直接举例说明:
#python3下默认字符编码是unicode
s = ‘你好‘
#将unicode直接转换为gbk
s_gbk = s.encode(‘gbk‘)
print(s_gbk)
》b‘\xc4\xe3\xba\xc3‘ 这里输出的b代笔bytes类型
print(s.encode()) 括弧内不带转换编码是默认转换为utf-8
#以下是将gbk编码先解码成unicode,然后在编码成utf-8
gbk_to_utf8 = s_gbk.decode(‘gbk‘).encode(‘utf-8‘)
print(gbk_to_utf8)

测试实例:
python2 上把gb2312转为utf8,然后在转成gbk
#coding:utf-8
#这里默认是utf-8编码
s = ‘你好‘
#先将汉字解码为unicode,然后编码为gb2312并打印
s_to_gb2312 = s.decode(‘utf-8‘).encode(‘gb2312‘)
#这里修改终端字符集为gb2312
print s_to_gb2312

#先将gb2312解码为unicode,然后编码为utf8并打印
gb2312_to_utf8 = s_to_gb2312.decode(‘gb2312‘).encode(‘utf-8‘)
#修改终端字符集为utf8
print gb2312_to_utf8

#先将utf-8解码为unicode,然后在编码为gbk
utf8_to_gbk = gb2312_to_utf8.decode(‘utf-8‘).encode(‘gbk‘)
#修改终端字符集为gbk
print utf8_to_gbk

python3 上把gb2312转为utf8,然后在转成gbk

#注:如果这样:u‘你好‘,这里的u代表这个为unicode编码
s = ‘你好‘
#由于python3默认是unicode编码,所以直接编码为gb2312
unicode_to_gb2312 = s.encode(‘gb2312‘)
#将gb2312先解码为unicode,再编码为utf8
gb2312_to_utf8 = unicode_to_gb2312.decode(‘gb2312‘).encode(‘utf-8‘)
#将utf8解码为unicode,再编码为gbk
utf8_to_gbk = gb23312_to_utf8.decode(‘utf-8‘).encode(‘gbk‘)
打印如下:全部为bytes类型,bytes类型只显示编码格式
b‘\xc4\xe3\xba\xc3‘
b‘\xe4\xbd\xa0\xe5\xa5\xbd‘
b‘\xc4\xe3\xba\xc3‘

在上一张python3实例图解:

时间: 2024-11-03 03:45:50

Python基础之 一 字符编码及转换的相关文章

Python基础编程之字符编码、数据类型、列表

目录: python简介 字符编码介绍 数据类型 一.Python简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承.之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者. python的发展历史 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器. 1991年,第一个Pyt

Python基础(变量、字符编码、数据类型)

变量 变量名由字母.数字(不能为首字符).下划线组成,不能使用关键字 以下关键字不能声明为变量名 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'pri

Python基础 二进制和字符编码

二进制定义 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二",由18世纪德国数理哲学大师莱布尼兹发现.当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的.计算机中的二进制则是一个非常微小的开关,用"开"来表示1,"关"来表示0. 二进制与十进制转换 我们已经发现,二进制的第n位代表的十进制值都刚好遵循着2的n

python中的字符编码和转换

1.字符编码初识 最初的字符集是ASCII,ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号. 随着计算机技术的普及和发展,255个符号显然不满足全世界国家对符号数量的需求,因此各国开始发展自己的一套编码.那么针对中文: 为了

Gnu Linux下文件的字符编码及转换工具

/*********************************************************************  * Author  : Samson  * Date    : 07/03/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************

python 基础 -02 运算符和编码

一 格式化输出  %s就是代表字符串占位符,除此之外,还有%d, 是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字, 这时对应的数据必须是int类型. 否则程序会报错 使用时,需要进行类型转换. int(str) # 字符串转换成int str(int) # int转换成字符串 现在又来了新问题 . 如果想输出: 我叫xxx, 今年xx岁了,我们已经学习了2%的python基础了 在字符串中如果使用%s这样的占位符. 那么所有的%都将变成占位符. 我们的2%也变成占位符

python基础数据类型补充以及编码进阶

01 内容大纲 基础数据类型的补充 数据类型之间的转换 编码的进阶 02 具体内容: 数据类型的补充: str # str :补充的方法练习一遍就行. s1 = 'taiBAi' # capitalize 首字母大写,其余变小写 print(s1.capitalize()) # swapcase 大小写翻转 print(s1.swapcase()) # title 每个单词的首字母大写 msg= 'taibai say3hi' print(msg.title()) s1 = 'barry' #

python基础数据类型补充以及编码的进阶

一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住. #captalize :首字母大写 #swapcase :大小写翻转 #title :每个单词的首字母大写 #center :内同居中,总长度,空白处填充 #寻找字符串中的元素是否存在 #find :返回的找到的元素的索引,如果找不到返回-1 #index :返回的找到的元素的索引,找不到报错. #captalize

python的 随手记----字符编码与转码

一.前提 那么到底什么是编码呢? //ASCII 记住一句话:计算机中的所有数据,不论是文字.图片.视频.还是音频文件,本质上最终都是按照类似 01010101 的二进制存储的. 再说简单点,计算机只懂二进制数字! 所以,目的明确了:如何将我们能识别的符号唯一的与一组二进制数字对应上?于是美利坚的同志想到通过一个电平的高低状态来代指0或1, 八个电平做为一组就可以表示出 256种不同状态,每种状态就唯一对应一个字符,比如A--->00010001,而英文只有26个字符,算上一些特殊字符和数字,1