返回顶部
首页 > 资讯 > 后端开发 > Python >Python encode()方法和decode()方法详解
  • 466
分享到

Python encode()方法和decode()方法详解

Python encode()方法Pythondecode()方法 2022-12-28 15:12:31 466人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录python encode()方法Python decode()方法Python encode()方法 encode() 方法为字符串类型(str)提供的方法,用于将 str 类

Python encode()方法

encode() 方法为字符串类型(str)提供的方法,用于将 str 类型转换成 bytes 类型,这个过程也称为“编码”。

encode() 方法的语法格式如下:

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

注意,格式中用 [] 括起来的参数为可选参数,也就是说,在使用此方法时,可以使用 [] 中的参数,也可以不使用。

该方法各个参数的含义如表 1 所示。

表 1 encode()参数及含义

参数含义
str表示要进行转换的字符串。
encoding = "utf-8"指定进行编码时采用的字符编码,该选项默认采用 utf-8 编码。例如,如果想使用简体中文,可以设置 gb2312。

当方法中只使用这一个参数时,可以省略前边的“encoding=”,直接写编码格式,例如 str.encode("UTF-8")。
errors = "strict"指定错误处理方式,其可选择值可以是:
  • strict:遇到非法字符就抛出异常。
  • ignore:忽略非法字符。
  • replace:用“?”替换非法字符。
  • xmlcharrefreplace:使用 xml 的字符引用。
该参数的默认值为 strict。

注意,使用 encode() 方法对原字符串进行编码,不会直接修改原字符串,如果想修改原字符串,需要重新赋值。

【例 1】将 str 类型字符串“C语言”转换成 bytes 类型。

>>> str = "C语言"
>>> str.encode()
b'C\xe8\xaf\xad\xe8\xa8\x80\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x91'

此方式默认采用 UTF-8 编码,也可以手动指定其它编码格式,例如:

>>> str = "C语言"
>>> str.encode('GBK')
b'C\xd3\xef\xd1\xd4\xd6\xd0\xce\xc4\xcd\xf8'

Python decode()方法

和 encode() 方法正好相反,decode() 方法用于将 bytes 类型的二进制数据转换为 str 类型,这个过程也称为“解码”。

decode() 方法的语法格式如下:

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

该方法中各参数的含义如表 2 所示。

表 2 decode()参数及含义

参数含义
bytes表示要进行转换的二进制数据。
encoding="utf-8"指定解码时采用的字符编码,默认采用 utf-8 格式。当方法中只使用这一个参数时,可以省略“encoding=”,直接写编码方式即可。

注意,对 bytes 类型数据解码,要选择和当初编码时一样的格式。
errors = "strict"指定错误处理方式,其可选择值可以是:
  • strict:遇到非法字符就抛出异常。
  • ignore:忽略非法字符。
  • replace:用“?”替换非法字符。
  • xmlcharrefreplace:使用 xml 的字符引用。
该参数的默认值为 strict。

【例 2】

>>> str = "C语言"
>>> bytes=str.encode()
>>> bytes.decode()
'C语言'

注意,如果编码时采用的不是默认的 UTF-8 编码,则解码时要选择和编码时一样的格式,否则会抛出异常,例如:

>>> str = "C语言"
>>> bytes = str.encode("GBK")
>>> bytes.decode()  #默认使用 UTF-8 编码,会抛出以下异常
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    bytes.decode()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd3 in position 1: invalid continuation byte
>>> bytes.decode("GBK")
'C语言'

到此这篇关于Python encode()方法和decode()方法的文章就介绍到这了,更多相关Python encode()方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python encode()方法和decode()方法详解

本文链接: https://lsjlt.com/news/176072.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python encode()方法和decode()方法详解
    目录Python encode()方法Python decode()方法Python encode()方法 encode() 方法为字符串类型(str)提供的方法,用于将 str 类...
    99+
    2022-12-28
    Python encode()方法 Python decode()方法
  • Python字符串编码转换encode()和decode()方法详细说明
    目录1.Python encode()方法 2.Python decode()方法 前言: 我们知道,最早的字符串编码是 ASCII 编码,它仅仅对 10 个数字、26 个大小写英文...
    99+
    2024-04-02
  • Python字符串编码转换encode()和decode()方法怎么使用
    这篇文章主要讲解了“Python字符串编码转换encode()和decode()方法怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python字符串编码转换encode()和deco...
    99+
    2023-06-25
  • python类方法和静态方法详解
    目录类方法静态方法1特点2使用场景总结类方法 需要用装饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为参数 使用场景 1当方法中需要...
    99+
    2024-04-02
  • Python魔方方法详解
    原文链接: https://fishc.com.cn/forum.phpmod=viewthread&tid=48793&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403 魔...
    99+
    2023-01-31
    魔方 详解 方法
  • Python 魔法方法详解
    据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切。 他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Py...
    99+
    2023-01-31
    详解 方法 魔法
  • 详解python中@classmethod和@staticmethod方法
    在python类当中,经常会遇到@classmethod和@staticmethod这两个装饰器,那么到底它们的区别和作用是啥子呢?具体来看下。 @classmethod :默认有一...
    99+
    2024-04-02
  • springboot中encode方法怎么使用
    在Spring Boot中,可以使用PasswordEncoder接口的实现类来进行编码操作。一般来说,可以通过@Bean注解来将P...
    99+
    2024-03-07
    springboot
  • Python内置方法和属性详解
    目录1.1 _del_方法(知道)1.2 _str_ 方法总结 1.1 _del_方法(知道) 在Python中 当使用 类名()创建对象时,为对象 分配完空间后,自动 调用 _i...
    99+
    2024-04-02
  • Java构造方法和方法重载详解
    目录第一 构造方法的作用第二 构造方法的特点方法重载总结类的结构包括 : 1. 成员变量 2. 成员方法 3. 构造方法 4. 代码块 5. 内部类 第一 构造方法的作用 主要有以下...
    99+
    2024-04-02
  • python中torch.nn.identity()方法详解
    目录先看代码看源码应用总结先看代码 m = nn.Identity( 54, unused_argument1=0.1, unused_argument2=False ) in...
    99+
    2024-04-02
  • python中list方法详解
    目录一、创建一个列表二、 访问列表中的元素三、append 方法:四、extend 方法:五、insert 方法:六、remove 方法:七、pop 方法:八、del方法:...
    99+
    2023-05-17
    python list方法 python list
  • Python探索之静态方法和类方法的区别详解
    面相对象程序设计中,类方法和静态方法是经常用到的两个术语。 逻辑上讲:类方法是只能由类名调用;静态方法可以由类名或对象名进行调用。 python staticmethod and classmethod ...
    99+
    2022-06-05
    方法 静态 详解
  • Python编程基础之构造方法和析构方法详解
    目录一、本讲学习目标二、构造方法(一)概述(二)案例演示三、析构方法(一)概述(二)案例演示四、self的使用(一)self概述(二)案例演示总结一、本讲学习目标 1.掌握构造方法的...
    99+
    2024-04-02
  • 关于python的编码与解码decode()方法及zip()函数
     先看示例 i=1 menu=["B超室","化验室"] user="张来,黎明,常冒,赵薇,吉舜锋,辛叶,冲余力,余人明,傅山,岳宁琳,昌紫衫,笆莎莉" usergrou...
    99+
    2023-05-17
    python编码 python解码 python zip()函数
  • vue中使用jwt-decode解析token的方法
    安装: cnpm i -S jwt-decode 引入: import jwt_decode from "jwt-decode"; 使用: import jwt_decode f...
    99+
    2024-04-02
  • Go语言类方法和对象方法详解
    go语言中,类方法(type)作用于整个结构体类型,用于执行不操作具体实例的操作。对象方法(receiver)绑定到具体实例,用于操作实例数据。实战案例中,类方法用于创建和获取员工信息,...
    99+
    2024-04-03
    方法 go语言
  • 详解Python常用的魔法方法
    目录一、python魔法方法二、运算符重载三、打印操作的魔法方法四、属性操作的魔法方法五、描述符六、定制序列七、迭代器一、python魔法方法 Python的魔法方法会在特定的情况下...
    99+
    2024-04-02
  • Python中set与frozenset方法和区别详解
    set(可变集合)与frozenset(不可变集合)的区别: set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素. ...
    99+
    2022-06-04
    详解 区别 方法
  • Python rindex()方法案例详解
    描述 Python rindex() 方法返回子字符串最后一次出现在字符串中的索引位置,该方法与 rfind() 方法一样,只不过如果子字符串不在字符串中会报一个...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作