Skip to content
Related Articles

Related Articles

Improve Article

Python bytes() method

  • Last Updated : 13 Sep, 2021

Python byte() function converts an object to an immutable byte-represented object of given size and data.

Syntax : bytes(src, enc, err)

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Parameters : 



  • src : The source object which has to be converted
  • enc : The encoding required in case object is a string
  • err : Way to handle error in case the string conversion fails.

Returns :  Byte immutable object consisting of unicode 0-256 characters according to src type. 

  • integer : Returns array of size initialized to null
  • iterable : Returns array of iterable size with elements equal to iterable elements( 0-256 )
  • string : Returns the encoded string acc. to enc and if encoding fails, performs action according to err specified.
  • no arguments : Returns array of size 0.

Python bytes() example

Example 1: Convert string to bytes

 In this example, we are going to convert string to bytes using the Python bytes() function, for this we take a variable with string and pass it into the bytes() function with UTF-8 parameters. UTF-8 is capable of encoding all 1,112,064 valid character code points in Unicode using one to four one-byte code units

Python3




# python code demobstrating
# int to bytes
str = "Welcome to Geeksforgeeks"
 
arr = bytes(str, 'utf-8')
 
print(arr)

Output:

b'Welcome to Geeksforgeeks'

Example 2: Array of bytes from an integer

In this example, we are going to see how to get an array of bytes from an integer using the Python bytes() function, for this we will pass the integer into the bytes() function.

Python3




# python code to demonstrate
# int to bytes
 
number = 12
result = bytes(number)
 
print(result)

Output:

b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

Example 3: Null parameters with bytes()

When we pass noting in bytes() function then it creates an array of size 0.

Python3




print(bytes())

Output:

b''

Example 4: Demonstrating byte() on integers, none and iterables

Python3




# Python 3 code to demonstrate the
# working of bytes() on int, iterables, none
 
# initializing integer and iterables
a = 4
lis1 = [1, 2, 3, 4, 5]
 
# No argument case
print ("Byte conversion with no arguments : " + str(bytes()))
 
# conversion to bytes
print ("The integer conversion results in : "  + str(bytes(a)))
print ("The iterable conversion results in : "  + str(bytes(lis1)))

Output: 
 

Byte conversion with no arguments : b''
The integer conversion results in : b'\x00\x00\x00\x00'
The iterable conversion results in : b'\x01\x02\x03\x04\x05'

Behavior of Bytes with Strings 

Bytes accept a string as an argument and require an encoding scheme with it to perform it. The most important aspect of this is handling errors in case of encoding failure, some of the error handling schemes defined are : 

String Error Handlers : 

  • strict : Raises the default UnicodeDecodeError in case of encode failure.
  • ignore : Ignores the unencodable character and encodes the remaining string.
  • replace : Replaces the unencodable character with a ‘?’.

Example: Demonstration of bytes() using string

Python3




# Python 3 code to demonstrate the
# working of bytes() on string
 
# initializing string
str1 = 'GeeksfĂ–rGeeks'
 
# Giving ascii encoding and ignore error
print("Byte conversion with ignore error : " +
      str(bytes(str1, 'ascii', errors='ignore')))
 
# Giving ascii encoding and replace error
print("Byte conversion with replace error : " +
      str(bytes(str1, 'ascii', errors='replace')))
 
# Giving ascii encoding and strict error
# throws exception
print("Byte conversion with strict error : " +
      str(bytes(str1, 'ascii', errors='strict')))

Output: 

Byte conversion with ignore error : b'GeeksfrGeeks'
Byte conversion with replace error : b'Geeksf?rGeeks'

Exception : 

UnicodeEncodeError: ‘ascii’ codec can’t encode character ‘\xd6’ in position 6: ordinal not in range(128)




My Personal Notes arrow_drop_up
Recommended Articles
Page :