如何在 Python 中将字节转换为字符串

在本教程中,我们将学习如何使用 Python 脚本将字节转换为字符串。我们还将探索如何有效地使用这些数据类型。我们在本教程中包含 Python 3 方法,因为 Python 2 不再使用了。在深入挖掘这个主题之前,首先我们需要了解一下 Byte 数据类型的基本介绍。

如果一个人熟悉 Python ,那么他/她一定已经知道字节数据类型。但是如果有人对 Python 不友好,那么我们将解释这个概念。让我们理解下面的例子。

示例-


string1 = 'Welcome to JavaTpoint'
print(type(string1))
string2 = b'Welcome to JavaTpoint'
print(type(string2))

输出:

<class 'str'>
<class 'bytes'>

解释

我们用相同的值定义两个字符串。两个值看起来相似,但数据类型不同。第一个 string1 变量是一个字符串数据类型,另一个是一个字节数据类型。第二个 string2 变量的前缀是‘b’,这意味着它产生的是字节数据类型,而不是字符串数据类型。

这两种数据类型之间的区别是

Str – 字符串是 Unicode 字符的序列(以 UTF -16 或 UTF-32 编码,完全取决于 Python 的编译)。

Bytes 或 byte – 表示 0 到 255 之间的整数,我们可以表示为‘b’或‘b’

我们可以通过在常规字符串前面写“be literal”将任何字符串转换为字节。

字符串和字节的关键区别

str 和 bytes 两种数据类型在 Python 2.x 中都被用作 byte 类型对象,但在 Python 3.x 的情况下就不是这样了,字节和 string 的关键区别在于字符串容易读取或者是人可读的,其中一个字节最终是机器可读的,字符串在处理之前也会被转换成 Byte。

当我们在 Python 中声明一个字节数据类型时,它直接存储在磁盘中,一个字符串被转换成一个字节,然后存储在磁盘上。

字符串用于表示字符、单词或句子,而字节表示低级二进制数据结构。

  • 使用解码()方法

Python 提供了内置的 decode() 方法,用于将字节转换为字符串。让我们理解下面的例子。

示例-


byteData = b"Lets eat a \xf0\x9f\x8d\x95!"
# Let's check the type
print(type(byteData))
str1 = byteData.decode('UTF-8')
print(type(str1))
print(str1)

输出:

<class 'bytes'>
<class 'str'>
Lets eat a ?!

```py

**解释-**

我们在上面的代码中传递了编码格式,将 bytes 对象解码成一个字符串,并打印出来。

*   **使用字节来串编编解码器**

我们还可以使用 ***编解码器*** 模块将字节数据类型转换为字符串。

**示例-**

import codecs
byteData = b’Lets eat a \xf0\x9f\x8d\x95!’
codecs.decode(byteData, ‘UTF-8’)


**输出:**

Lets eat a ?


*   **使用 str()**

将字节转换为字符串是最简单的方法。让我们理解下面的例子。

**示例-**

byteData = b’Lets eat a \xf0\x9f\x8d\x95!’
b1 = str(byteData, ‘UTF-8’)
print(b1)


**输出:**

Lets eat a ?&!


需要将编码参数传递给 **str()** 否则会得到一些意想不到的结果。错误的编码导致不正确的输出。**例如-** 如果我们用 UTF-16 传递 **str()** 方法,会得到如下错误。

str(b, ‘UTF-16’)


**输出:**

‘敌❴\u2073 牧扡愠\uf020 趟↕’



## 结论

本教程将帮助您处理字节数据类型。就像字符集一样,编码和二进制被用来编码和解码。我们已经定义了将字节数据类型转换为字符串的各种方法。

* * *

原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/127093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
简单一点简单一点
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相关推荐

  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python中将字符串转化为浮点数

    本文将介绍在Python中将字符串转化为浮点数的常用方法。在介绍方法之前,我们先来思考一下这个问题应该如何解决。 一、eval函数 在Python中,最简单、最常用的将字符串转化为…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python学习笔记:去除字符串最后一个字符的方法

    本文将从多个方面详细阐述如何通过Python去除字符串最后一个字符,包括使用切片、pop()、删除、替换等方法来实现。 一、字符串切片 在Python中,可以通过字符串切片的方式来…

    编程 2025-04-29
  • 使用FFmpeg在Java中将MP3 URL转换为PCM

    本文介绍了使用FFmpeg在Java中将MP3 URL转换为PCM的具体步骤,以及相应代码示例。 一、准备工作 在使用FFmpeg之前,需要先安装FFmpeg,可以在官网(http…

    编程 2025-04-29
  • Python如何将字符串1234变成数字1234

    Python作为一种广泛使用的编程语言,对于数字和字符串的处理提供了很多便捷的方式。如何将字符串“1234”转化成数字“1234”呢?下面将从多个方面详细阐述Python如何将字符…

    编程 2025-04-29
  • Python int转二进制字符串

    本文将从以下几个方面对Python中将int类型转换为二进制字符串进行详细阐述: 一、int类型和二进制字符串的定义 在Python中,int类型表示整数,二进制字符串则是由0和1…

    编程 2025-04-29
  • Python中的字节类数据

    Python作为其中一个最广泛使用的编程语言之一,提供了多种数据类型来帮助开发者实现各种需求。在这些数据类型中,字节类数据(bytes)是一个被广泛使用的类型。本文将会从各个方面详…

    编程 2025-04-28
  • 用title和capitalize美观处理Python字符串

    在Python中,字符串是最常用的数据类型之一。对字符串的美观处理是我们在实际开发中经常需要的任务之一。Python内置了一些方法,如title和capitalize,可以帮助我们…

    编程 2025-04-28
  • Python 提取字符串中的电话号码

    Python 是一种高级的、面向对象的编程语言,它具有简单易学、开发迅速、代码简洁等特点,广泛应用于 Web 开发、数据科学、人工智能等领域。在 Python 中,提取字符串中的电…

    编程 2025-04-28

发表回复

登录后才能评论