python3的decode()与encode()

Tags: Python Python3

对于从python2.7过来的人,对python3的感受就是python3对文本以及二进制数据做了比较清晰的区分。文本总是Unicode,由str类型进行表示,二进制数据使用bytes进行表示,不会将str与bytes偷偷的混在一起,使得两者的区别更加明显。在python2中会明显发现不能将str与bytes拼接在一起,也不能在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)

>>> type(bytesText)

>>> textDecode = bytesText.decode()

>>> textDecode

'我是文本'

>>> print(textDecode)

我是文本

对于这些可以这么理解:

编码就是将字符串转换成字节码,涉及到字符串的内部表示。

解码就是将字节码转换为字符串,将比特位显示成字符。

其中decode()与encode()方法可以接受参数,其声明分别为:

bytes.decode(encoding="utf-8", errors="strict")

str.encode(encoding="utf-8", errors="strict")

其中的encoding是指在解码编码过程中使用的编码(此处指“编码方案”是名词),errors是指错误的处理方案。

pythonencode和decode_Python3的decode()与encode()相关推荐

  1. python中decode和encode的区别

    首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码, 即先将其他编码的字符串解码(decode)成unicode,再从unic ...

  2. python decode unicode encode

    字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(en ...

  3. python爬取小说出现乱码_详解Python解决抓取内容乱码问题(decode和encode解码)

    一.乱码问题描述 经常在爬虫或者一些操作的时候,经常会出现中文乱码等问题,如下 原因是源网页编码和爬取下来后的编码格式不一致 二.利用encode与decode解决乱码问题 字符串在Python内部的 ...

  4. python中文decode和encode转码

    字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(en ...

  5. Python解决抓取内容乱码问题(decode和encode解码)

    一.乱码问题描述 经常在爬虫或者一些操作的时候,经常会出现中文乱码等问题,如下 原因是源网页编码和爬取下来后的编码格式不一致 二.利用encode与decode解决乱码问题 字符串在Python内部的 ...

  6. decode和encode

    首先要明确一点就是python中的字符串在内部都是以unicode存储的.decode的意思是把一个unicode字符串"解码"成期望的编码,decode完后,不仅编解码变了,而且 ...

  7. Python JSON decode和encode

    Python: Decode和Encode JSON import json, dumps encode数据,loads decode数据. def DecodingJson(json_file):d ...

  8. java net unicode / native2ascii / url decode / url encode / UTF8 / js url code

    s http://chengyue2007.iteye.com/blog/1852095 java中URL 的编码和解码函数 java.net.URLEncoder.encode(String s)和 ...

  9. decode和encode 区别

    从英文意思上看,encode和decode分别指编码和解码.在python中,Unicode类型是作为编码的基础类型,即: decode                 encode str ---- ...

最新文章

  1. 奇异值分解与最小二乘问题 线性回归
  2. 在网页中显示数字时钟
  3. WebStrom如何设置字体?
  4. matlab png转02,matlab把图片pgm格式转换成png格式
  5. 【三分钟讲清区块链/比特币】之一:区块链入门教程
  6. Apache Camel 2.14中的更多指标
  7. Matplotlib中的“ plt”和“ ax”到底是什么?
  8. windows mysql 自动备份_windows mysql 自动备份的几种方法总结--岁月博客提供
  9. linux终端 图形库,Linux终端图形库 Curses简介和实例分析
  10. Kafka常见面试题
  11. psacct工具 /var/account/pacct文件太大
  12. 〖Python WEB 自动化测试实战篇⑤〗- selenium 元素定位详解 - (八大元素定位方式)
  13. Centos7 源码安装mysql5.6
  14. 【ubuntu】解决 Certificate verification failed: The certificate is NOT trusted
  15. 2017美团网易360部分笔试题
  16. 【机器学习】数据归一化全方法总结:Max-Min归一化、Z-score归一化、数据类型归一化、标准差归一化等
  17. 滴滴Logi-KafkaManager开源之路:一站式Kafka集群指标监控与运维管控平台
  18. VUE 路由守卫 next() / next({ ...to, replace: true }) / next(‘/‘) 说明
  19. 3.3.4 h5 -manifest.json-常用配置【uni-app从入门到精通在线教程(黄菊华-跨平台开发系列教程)】
  20. GOOGLE使用指南

热门文章

  1. 【CVE-2018-12613】phpmyadmin 4.8.1 远程文件包含漏洞复现
  2. java异常标记_java.lang.RuntimeException:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误的标记...
  3. 广东省计算机学校哪所最好,广东省哪个技校比较好哪里好
  4. matlab为自定义后缀文件设置图标_【V3.0更新】| 这可能是全网最好用的文件管理神器了......
  5. axios安装_Vue脚手架安装,与基本语法(干货)
  6. 向MIP开源项目提交Issues
  7. 第一章、第一节 Angular基础
  8. 10 种保护 Spring Boot 应用的绝佳方法 1
  9. python生成器与迭代器。
  10. PHP Smarty template for website