Python中的encode和decode
2024-10-08 19:41:41
原文地址:http://www.cnblogs.com/tingyugetc/p/5727383.html
1.Python3中对文本和二进制数据进行了比较清晰的区分,文本总是 unicode ,由 str 类型进行表示;二进制数据则由 bytes 类型进行表示。不会将 str 和 bytes 偷偷混合在一起,在python3中会明显发现不能将两者拼接在一起,也不能在bytes中查找字符,然而在实际操作中却需要将两者进行转换操作以便完成相应的需求,两者之间的转换关系如下表示:
str -> bytes :encode编码
bytes -> str : decode解码
字符串通过编码转换为二进制数据,二进制数据通过解码转换为字符串
>>> text = '我是文本'
>>> text
'我是文本'
>>> print(text)
我是文本
>>> bytesText = text.encode()
>>> bytesText
b'\xe6\x88\x91\xe6\x98\xaf\xe6\x96\x87\xe6\x9c\xac'
>>> print(bytesText)
b'\xe6\x88\x91\xe6\x98\xaf\xe6\x96\x87\xe6\x9c\xac'
>>> type(text)
<class 'str'>
>>> type(bytesText)
<class 'bytes'>
>>> textDecode = bytesText.decode()
>>> textDecode
'我是文本'
>>> print(textDecode)
我是文本
2.其中 decode( ) 和 encode( ) 方法可以接受参数,其声明如下:
bytes.decode(encoding="utf-8", errors="strict")
str.encode(encoding="utf-8", errors="strict")
其中 encoding 是指在编码过程中所使用的编码, errors 是指错误的处理方案。
最新文章
- java语言 打印素数实例
- spring + spring mvc + mybatis + react + reflux + webpack Web工程例子
- 【LeetCode】16. 3Sum Closest
- 菜鸟搭建Android环境~~~~绝对靠谱
- 一步步学Mybatis-怎么样实现动态SQL查询(6)
- 【python】dir(__builtins__)查看python中所用BIF(内置函数)
- js后缀判断
- eclipse中代码格式化组合键失效了
- Python中如何防止sql注入
- DAY24、面向对象
- 利用kibana插件对Elasticsearch进行bool查询
- Entity Framework插入数据报错:Validation failed for one or more entities. See &#39;EntityValidationErrors&#39; property for more details.
- Confluence 6 在初始化配置时候的问题
- Docker Clustering Tools Compared: Kubernetes vs Docker Swarm
- [No0000155]为什么32位机器最大只能用到4GB内存
- [UE4]通过IP地址加入游戏
- Swift 里集合类型协议的关系
- 在使用R做数据挖掘时,最常用的数据结构莫过于dataframe了,下面列出几种常见的dataframe的操作方法
- MySQL server has gone away 问题的解决方法(转)
- .net core 应用Nancy快速实现轻量级webapi