pythonencode_python的encode和decode误读总结
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误读总结相关推荐
- python 乱码转码_数据库乱码问题 Python 编码问题(Unicode 的 encode、decode 相互转换 )...
前言: 今天有个项目需要合并(A合并到B),我所做的就是数据库的合并操作,其中出现的主要问题就是乱码的问题.乱码这个问题是很常见的问题,今天整理了下自己所理解的一点见解. 案例: NAME COMPA ...
- 2019年2月26日 Unique Email Addresses、To Lower Case、Encode and Decode TinyURL
今天开始加快速度,趁着还有空多刷几题,语言换成python提高速度了. 1. Unique Email Addresses 弱题,注意@符号前后的处理方式不同 class Solution(objec ...
- python3 的encode 和 decode
str ----> bytes: encode 编码 bytes----> str: decode 解码 str.encode() bytes.decode() >>> ...
- 对代理ARP技术的误读、无法完成代理ARP实验的故障分析
对代理ARP技术的误读.无法完成代理ARP实验的故障分析 问题的提出: 网络工程技术人员和或者学习者面对ARP代理技术时,通常能理解ARP代理的作用和技术要点是什么,但是无法根据技术描述去实现 ...
- decode函数python在哪里_Python基础知识——encode和decode函数
以前我们介绍过,Python2.x中默认的编码的基础类型是unicode编码的类型,在Python3.x才转化为基于unicode的字符串. 那么我们在Python2.x的学习中就会遇到各种各样的编码 ...
- pythonunicode和str_python的str,unicode对象的encode和decode方法
python的str,unicode对象的encode和decode方法 python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byt ...
- python中的encode()和decode()函数
对于很多人来说,python的中字符转码是一件很头疼的事情,本来期望结果输出的是中文,结果来一段像这样\xe4\xbd\xa0\xe5\xa5\xbd像是乱码的字符串. 由于学python没多久,昨天 ...
- Python zipfile 文件名称编码 file_name.encode(‘cp437‘).decode(‘gbk‘)
主要是处理压缩包里的中文,不出现乱码 with zipfile.ZipFile('love.zip', 'r') as zipobj: #读取压缩包for file_name in zipobj.na ...
- python str字符串和byte字节流的区别 encode、decode方法的区别
Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和b ...
最新文章
- Java接口对Hadoop集群的操作
- socketserver
- MySQL性能分析及explain的使用
- Codeforces Round #623 (Div. 2, based on VK Cup 2019-2020 - Elimination Round, Engine) A Dead Pixel
- python输出文本 去掉引号_Python可以在文本文件中读取时从字符串中删除双引号吗?...
- nginx配置http自动跳转https方案
- 电商商家可以用到的小工具和素材资源网站
- 35 万行代码,旷视重磅开源天元深度学习框架 ,四大特性实现简单开发
- SPSS常用的几种统计分析
- 如何使用Flutter开发web应用
- 【FAQ】【Push Kit】 华为怎么设置角标
- win11禁用内置的administrator本地帐户
- 达人评测 i7 12700H和R7 6800H选哪个好
- 嵌入式Linux系统镜像制作(基于SD卡)
- 基于强化学习的自我完善聊天机器人
- json对象转换为json字符串
- dB,dBi和dBm的区别
- 中国Internet九大骨干网
- 我为什么要学习Linux?
- 计算机毕业设计Node.js+Express郑州市智慧农贸市场管理系统(源码+程序+lw+远程调试)
热门文章
- CALL FUNCTION START NEW TASK
- 如何分析SAPPSPRO-S_MAT_ENHANC_COMM问题
- how is Fiori launchpad host name and port number determine
- 如何给SAP C4C的产品主数据division配置出新的下拉选项
- 如何使用事务码SMICM分析ABAP代码发起的HTTP请求的错误
- 巧用代理设计模式(Proxy Design Pattern)改善前端图片加载体验
- 如何定义一个类对象并用next()的方法使用_深入理解-可迭代对象、迭代器(20个为什么)...
- python掷骰子期望_python_掷骰子游戏
- python httplib_如何用Python做个英语翻译小字典
- JAVA面试题集收藏大放送