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'
Contribute
DelftStack is a collective effort contributed by software geeks like you. If you like the article and would like to contribute to DelftStack by writing paid articles, you can check the write for us page.

Related Article - Python Bytes

  • Convert Hex to Byte in Python
  • Convert Int to Binary in Python
  • Related Article - Python String

  • Convert Byte to Hex in Python
  • Generate Random Strings in Python