python的encode和decode误读总结

最近在学Python,对编码有个误解的地方

下面是错误的理解:

encode():编码,将对象的编码转换为指定编码格式,按照字面理解,一直以为是其他编码格式转换成unicode格式编码

decode():解码,是编码的逆过程。解析破译,把Unicode格式转换成其他格式。

查看一些资料和其他大神的博客,才有了正确认知和理解

decode的作用是将其他编码的字符串转换成Unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成Unicode编码。

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将Unicode编码的字符串str2转换成gb2312编码。

python是个容易出现编码问题的语言。所以,我按照我的理解写下下面这些文字。

首先,要了解几个概念。

*字节:计算机数据的表示。8位二进制。可以表示无符号整数:0-255。下文,用“字节流”表示“字节”组成的串。

*字符:英文字符“abc”,或者中文字符“你我他”。字符本身不知道如何在计算机中保存。下文中,会避免使用“字符串”这个词,而用“文本”来表

示“字符”组成的串。

*编码(动词):按照某种规则(这个规则称为:编码(名词))将“文本”转换为“字节流”。(在python中:unicode变成str)

*解码(动词):将“字节流”按照某种规则转换成“文本”。(在python中:str变成unicode)

**实际上,任何东西在计算机中表示,都需要编码。例如,视频要编码然后保存在文件中,播放的时候需要解码才能观看。

unicode:unicode定义了,一个“字符”和一个“数字”的对应,但是并没有规定这个“数字”在计算机中怎么保存。(就像在C中,一个整数既 可以是int,也可以是short。unicode没有规定用int还是用short来表示一个“字符”)

utf8:unicode实现。它使用unicode定义的“字符”“数字”映射,进而规定了,如何在计算机中保存这个数字。其它的utf16等都是unicode实现。

总结:

编码是把文本(字符串)转换成字节流,Unicode格式转换成其他编码格式

解码是把字节流转换成字符串(文本),其他编码格式转成Unicode

pythonencode_python的encode和decode误读总结相关推荐

  1. python 乱码转码_数据库乱码问题 Python 编码问题(Unicode 的 encode、decode 相互转换 )...

    前言: 今天有个项目需要合并(A合并到B),我所做的就是数据库的合并操作,其中出现的主要问题就是乱码的问题.乱码这个问题是很常见的问题,今天整理了下自己所理解的一点见解. 案例: NAME COMPA ...

  2. 2019年2月26日 Unique Email Addresses、To Lower Case、Encode and Decode TinyURL

    今天开始加快速度,趁着还有空多刷几题,语言换成python提高速度了. 1. Unique Email Addresses 弱题,注意@符号前后的处理方式不同 class Solution(objec ...

  3. python3 的encode 和 decode

    str ----> bytes: encode 编码 bytes----> str: decode 解码 str.encode() bytes.decode() >>> ...

  4. 对代理ARP技术的误读、无法完成代理ARP实验的故障分析

    对代理ARP技术的误读.无法完成代理ARP实验的故障分析 问题的提出:     网络工程技术人员和或者学习者面对ARP代理技术时,通常能理解ARP代理的作用和技术要点是什么,但是无法根据技术描述去实现 ...

  5. decode函数python在哪里_Python基础知识——encode和decode函数

    以前我们介绍过,Python2.x中默认的编码的基础类型是unicode编码的类型,在Python3.x才转化为基于unicode的字符串. 那么我们在Python2.x的学习中就会遇到各种各样的编码 ...

  6. pythonunicode和str_python的str,unicode对象的encode和decode方法

    python的str,unicode对象的encode和decode方法 python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byt ...

  7. python中的encode()和decode()函数

    对于很多人来说,python的中字符转码是一件很头疼的事情,本来期望结果输出的是中文,结果来一段像这样\xe4\xbd\xa0\xe5\xa5\xbd像是乱码的字符串. 由于学python没多久,昨天 ...

  8. Python zipfile 文件名称编码 file_name.encode(‘cp437‘).decode(‘gbk‘)

    主要是处理压缩包里的中文,不出现乱码 with zipfile.ZipFile('love.zip', 'r') as zipobj: #读取压缩包for file_name in zipobj.na ...

  9. python str字符串和byte字节流的区别 encode、decode方法的区别

    Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和b ...

最新文章

  1. Java接口对Hadoop集群的操作
  2. socketserver
  3. MySQL性能分析及explain的使用
  4. Codeforces Round #623 (Div. 2, based on VK Cup 2019-2020 - Elimination Round, Engine) A Dead Pixel
  5. python输出文本 去掉引号_Python可以在文本文件中读取时从字符串中删除双引号吗?...
  6. nginx配置http自动跳转https方案
  7. 电商商家可以用到的小工具和素材资源网站
  8. 35 万行代码,旷视重磅开源天元深度学习框架 ,四大特性实现简单开发
  9. SPSS常用的几种统计分析
  10. 如何使用Flutter开发web应用
  11. 【FAQ】【Push Kit】 华为怎么设置角标
  12. win11禁用内置的administrator本地帐户
  13. 达人评测 i7 12700H和R7 6800H选哪个好
  14. 嵌入式Linux系统镜像制作(基于SD卡)
  15. 基于强化学习的自我完善聊天机器人
  16. json对象转换为json字符串
  17. dB,dBi和dBm的区别
  18. 中国Internet九大骨干网
  19. 我为什么要学习Linux?
  20. 计算机毕业设计Node.js+Express郑州市智慧农贸市场管理系统(源码+程序+lw+远程调试)

热门文章

  1. CALL FUNCTION START NEW TASK
  2. 如何分析SAPPSPRO-S_MAT_ENHANC_COMM问题
  3. how is Fiori launchpad host name and port number determine
  4. 如何给SAP C4C的产品主数据division配置出新的下拉选项
  5. 如何使用事务码SMICM分析ABAP代码发起的HTTP请求的错误
  6. 巧用代理设计模式(Proxy Design Pattern)改善前端图片加载体验
  7. 如何定义一个类对象并用next()的方法使用_深入理解-可迭代对象、迭代器(20个为什么)...
  8. python掷骰子期望_python_掷骰子游戏
  9. python httplib_如何用Python做个英语翻译小字典
  10. JAVA面试题集收藏大放送