原文地址: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 是指错误的处理方案。

最新文章

  1. java语言 打印素数实例
  2. spring + spring mvc + mybatis + react + reflux + webpack Web工程例子
  3. 【LeetCode】16. 3Sum Closest
  4. 菜鸟搭建Android环境~~~~绝对靠谱
  5. 一步步学Mybatis-怎么样实现动态SQL查询(6)
  6. 【python】dir(__builtins__)查看python中所用BIF(内置函数)
  7. js后缀判断
  8. eclipse中代码格式化组合键失效了
  9. Python中如何防止sql注入
  10. DAY24、面向对象
  11. 利用kibana插件对Elasticsearch进行bool查询
  12. Entity Framework插入数据报错:Validation failed for one or more entities. See &#39;EntityValidationErrors&#39; property for more details.
  13. Confluence 6 在初始化配置时候的问题
  14. Docker Clustering Tools Compared: Kubernetes vs Docker Swarm
  15. [No0000155]为什么32位机器最大只能用到4GB内存
  16. [UE4]通过IP地址加入游戏
  17. Swift 里集合类型协议的关系
  18. 在使用R做数据挖掘时,最常用的数据结构莫过于dataframe了,下面列出几种常见的dataframe的操作方法
  19. MySQL server has gone away 问题的解决方法(转)
  20. .net core 应用Nancy快速实现轻量级webapi

热门文章

  1. 【学习Koa】原生koa2 静态资源服务器例子
  2. 最小生成树(Kruskal+Prim)--模板
  3. text字体样式(多行结尾省略,彩色渐变字体)
  4. UVA - 11214 Guarding the Chessboard(守卫棋盘)(迭代加深搜索)
  5. UVA - 10570 Meeting with Aliens(外星人聚会)(暴力枚举)
  6. python复习——字符串
  7. Nginx系列p3:实现一个具有缓存功能的反向代理服务器
  8. ✨vue引入组件 axios和icont矢量图标
  9. 利用mysecureshell搭建sftp服务
  10. 洛谷 P1709 隐藏口令