Convert String to Bytes in Python

  1. bytes Constructor to Convert String to Bytes in Python
  2. str.encode Method to Convert String to Bytes in Python

We will introduce methods to convert string to bytes in Python 3. It is the reverse operation of [converting bytes to string]()/howto/python/how-to-convert-bytes-to-string-in-python-2-and-python-3/.

bytes data type is a built-in type introduced from Python 3, and bytes in Python 2.x is actually the string type, therefore we don’t need to introduce this conversion in Python 2.x.

bytes Constructor to Convert String to Bytes in Python

bytes class constructor constructs an array of bytes from data like string.

bytes(string, encoding)

We need to specify the encoding argument, otherwise, it raises a TypeError.

>>> bytes("Test", encoding = "utf-8")
b'Test'
>>> bytes("Test")
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    bytes("Test")
TypeError: string argument without an encoding

str.encode Method to Convert String to Bytes in Python

str.encode(encoding=)

encode method of string class could also convert the string to bytes in Python. It has one advantage compared to the above method, that is, you don’t need to specify the encoding if your intended encoding is utf-8.

>>> test = "Test"
>>> test.encode()
b'Test'
>>> test.encode(encoding="utf-8")
b'Test'

Related Article - Python Bytes

  • Convert Bytes to Int in Python 2.7 and 3.x
  • Related Article - Python String

  • Convert Bytes to Int in Python 2.7 and 3.x
  • Remove Whitespace From a String in Python