python的编码 encode
Python3 encode()方法
描述
encode() 方法以指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。
语法
encode()方法语法:
str.encode(encoding='UTF-8',errors='strict')
参数
- encoding -- 要使用的编码,如: UTF-8。
- errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。
返回值
该方法返回编码后的字符串,它是一个 bytes 对象。
实例
以下实例展示了encode()方法的实例:
实例(Python 3.0+)
#!/usr/bin/python3 str = "菜鸟教程"; str_utf8 = str.encode("UTF-8") str_gbk = str.encode("GBK") print(str) print("UTF-8 编码:", str_utf8) print("GBK 编码:", str_gbk) print("UTF-8 解码:", str_utf8.decode('UTF-8','strict')) print("GBK 解码:", str_gbk.decode('GBK','strict'))
以上实例输出结果如下:
菜鸟教程 UTF-8 编码: b'\xe8\x8f\x9c\xe9\xb8\x9f\xe6\x95\x99\xe7\xa8\x8b' GBK 编码: b'\xb2\xcb\xc4\xf1\xbd\xcc\xb3\xcc' UTF-8 解码: 菜鸟教程 GBK 解码: 菜鸟教程
python3中encode和decode跟python2还是有一定的区别的,在python3中:
encode(编码):按照某种规则将“文本”转换为“字节流”。 python 3中表示:unicode变成str
decode(解码):将“字节流”按照某种规则转换成“文本”。 python3中表示:str变成unicode
字符串在Python内部的表示是Unicode编码,因此在做编码转换时,通常需要以Unicode作为中间编码,即先将其他编码的字符串解码(decode)成Unicode,再从Unicode编码(encode)成另一种编码。
u代表Unicode类型,s代表str类型
u.encode('...'):只要你填写了正确的编码,基本上总是能成功的。就像任何文件都可以压缩成zip文件。
u.decode('...'):没有任何意义,因为decode是将str转为unicode编码,而u本身就是unicode编码的。
s.encode('...'):在python 3中,将产生一个编码后的byte类型的字符串(这里有点像Python 2.x中的str),byte类型的字符串是支持解码操作的。
s.decode('...'):运行都会出错。因为python 3中的str类型对象有点像Python 2中的unicode, 而decode是将str转为unicode编码,所以str仅有一个encode方法,调用这个方法后将产生一个编码后的byte类型的字符。
按照上述规则对一般的字符编码解码可以基本解决,同时如果还有一些困惑可以百科一下Unicode,gbk等常用编码格式,了解一下他们的区别和编码原理。
python3默认编码为unicode,由str类型进行表示。二进制数据使用byte类型表示
字符串通过编码转换成字节码,字节码通过解码成为字符串
encode:str –> bytes
decode:bytes – > str
直接上代码:
import sys
print("print1:",sys.getdefaultencoding())
name ="中国"
name = name.encode("utf-8")
print("print2:",type(name))
name = name.decode("utf-8")
name = name.encode("gbk")
print("print4:",type(name))
1
2
3
4
5
6
7
8
结果:
分析:
python3默认的编码是unicode,utf-8可以看做是unicode的一个扩展集。
gbk在python中可直接转换成为utf-8,如print4所示,参考网址:
https://www.cnblogs.com/2017Python/articles/6569750.html
字符串转换成字节(encode):
s1 = "中国"
//法1:
s1 = s1.encode('utf-8')
//方2:,缺省也是可以滴
s1 = s1.encode()
//方3:
s1 = s1.encode(encoding='utf-8')
//法4:我对此语句的理解是,现在用bytes(s1,encoding='utf-8')这个方法转换成字符节。原先是按照utf-8进行编码,
s1 = bytes(s1, encoding='utf-8')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
字节转换成字符串(decode):
s1 = "中国"
s1 = s1.encode("utf-8")
//法1:现在的s1是字节类型
str = s1.decode('utf-8')
//法2:其中1是二进制类型,我对此语句的理解是,现在用str(bytes,encoding='utf-8')这个方法转换成字符串。按照utf-8进行编码,
str1 = str(s1, encoding='utf-8')
python的编码 encode相关推荐
- Python字符编码转换Unicode和str
参考链接1:https://blog.csdn.net/VictoriaW/article/details/75314737 参考链接2:https://blog.csdn.net/sheldonwo ...
- Python编码encode()与解码decode()介绍与示例演示
1.编码与解码介绍 位:计算机最小的单位 二进制中的一位 用二进制的 0/1表示. 字节:八位组成一个字节. 字符:我们肉眼可见的文字与符号. 字符集:字符的集合. 编码:将字符转换成计算机可识别的0 ...
- python 字符编码问题
字符编码 一.字符编码的演进 ASCII GB2312 GBK1.0 GB18030 Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言.跨平台 ...
- Python字符编码详解
Python字符编码详解 转自http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html Python字符编码详解 本文简单介绍了各种常用的 ...
- python字符编码讲解_python 字符编码讲解
ASCII控制字符 Unicode编码 ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字 ...
- Python字符串编码坑彻底详细解决 何梁
所以不同编码的str对象可以先解码(decode)成unicode 再编码(encode)成其他编码的str对象. 真正完全搞清楚Python的编码问题 我想大家经常被Python的编码问题搞的晕头转 ...
- python UnicodeEncodeError 编码错误总结
从外部写入字符串 查看python默认编码 >>>import sys >>>sys.getdefaultencoding()#'utf-8' python3 是默 ...
- 深入理解Python字符编码--转
http://blog.51cto.com/9478652/2057896 不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError ...
- python安全编码问题_浅谈Python中的编码问题
对于Python的初学者来说,编码问题相当令人头疼.本文就根据我在学习过程中遇到的问题简单谈一下Python中的编码.首先简单介绍一下几种常见的编码. 一.几种常见的字符编码 ASCII码 ASCII ...
- python字符编码在哪里_快速入手Python字符编码
前言 对于很多接触python的人而言,字符的处理和语言整体的温顺可靠相比显得格外桀骜不驯难以驾驭. 文章针对Python 2.7,主要因为3对的编码已经有了很大的改善并且实际原理一样,更改一下操作命 ...
最新文章
- Java 过一下基础
- 百亿级数据分表后怎么分页查询?
- WCF 入门之旅(4): 怎样用客户端调用WCF服务
- ptmalloc内存分配释放
- 东明县计算机学校,东明县职业中等专业学校2021年招生信息
- SpringBoot使用Mina框架进行服务端与客户端数据通信
- matlab中-psi_建议收藏 | 生物信息学中的可变剪切,这些内容你了解吗?
- python写web自动化_jenkins+selenium+python实现web自动化测试
- 为什么ES模块比CommonJS更好?
- 最简单的视音频播放示例2:GDI播放YUV, RGB
- js 文件上传 图片上传 传输速度计算
- IntelliJ IDEA For Mac 快捷键大全
- iconfont图标使用方法
- 云呐|国有资产管理信息系统,资产管理信息系统功能描述
- ArcBlock 分享 | 冒志鸿:我为区块链技术落地“狂”!
- jbpm创建流程图_JBPM流程图不显示
- 中北大学计算机面试题,【面试经验分享】航天类
- python制作网络社交图
- Spark Broadcast内幕解密
- Dynread微信商城源码(二开利器)