Преобразование Bytearray в String в Python

  1. Преобразуйте bytearray в строку с помощью функции bytes() в Python
  2. Преобразуйте bytearray в строку с помощью функции bytearray.decode() в Python

Вы можете использовать два основных метода для преобразования массива байтов в строку в Python: bytes() и bytearray.decode(). В этом руководстве мы покажем вам, как вы можете использовать эти функции в качестве методов для этого специального преобразования.

Преобразуйте bytearray в строку с помощью функции bytes() в Python

Если у нас есть bytearray, содержащий строковые символы в кодировке utf-8, и мы хотим преобразовать этот массив в строковую переменную, мы можем использовать встроенную функцию bytes() в Python.

Функция bytes() возвращает неизменяемый байтовый объект, который затем может быть сохранен внутри строковой переменной. Следующий фрагмент кода демонстрирует, как мы можем преобразовать массив байтов в строку с помощью функции bytes().

b = bytearray("test", encoding="utf-8")
str1 = bytes(b)
print(str1)

Выход:

b'test'

Мы преобразовали объект массива байтов b в строковую переменную str1 с помощью функции bytes() в приведенном выше коде. Сначала мы закодировали текст test в кодировке utf-8 внутри объекта bytearray. Затем мы преобразовали массив байтов в строку с помощью функции bytes() и сохранили результат в строковой переменной str1.

В итоге мы распечатали данные внутри переменной str1. Выходные данные показывают, что этот процесс добавляет объект b в начало наших исходных данных, а затем заключает данные в одинарные кавычки. Эта проблема решается в методе, обсуждаемом далее.

Преобразуйте bytearray в строку с помощью функции bytearray.decode() в Python

Как мы видим, функция bytes() преобразует массив байтов в строку, но добавляет дополнительные данные к исходной строке. Эту проблему можно решить с помощью манипуляций со строками, но это громоздкий процесс. Функция bytearray.decode() автоматически делает это за нас. Этот метод декодирует данные, изначально закодированные внутри массива байтов.

Следующий фрагмент кода демонстрирует, как мы можем преобразовать массив байтов в строку с помощью функции bytearray.decode().

b = bytearray("test", encoding="utf-8")
str1 = b.decode()
print(str1)

Выход:

test

Мы преобразовали объект байтового массива b в строковую переменную str1 с помощью функции b.decode() в приведенном выше коде. Сначала мы закодировали текст test в кодировке utf-8 внутри объекта bytearray. Затем мы преобразовали массив байтов в строку с помощью функции b.decode() и сохранили результат внутри строковой переменной str1. В итоге мы распечатали данные внутри переменной str1. Выходные данные показывают, что этот процесс не добавляет никаких дополнительных данных к нашим изначально закодированным данным.

Из демонстрации выше ясно, что метод bytearray.decode() намного превосходит метод byte() для преобразования объекта bytearray в строковую переменную.

Сопутствующая статья - Python String

  • Как проверить, что строка пуста в Python
  • Как удалить белый пробел в строке на Python
  • Как конвертировать строку в дату на Python
  • Как преобразовать строку в нижний кейс на Python 2 и 3
  • Сопутствующая статья - Python Bytearray

  • Как проверить, что строка пуста в Python
  • Как удалить белый пробел в строке на Python
  • Как конвертировать строку в дату на Python
  • Как преобразовать строку в нижний кейс на Python 2 и 3