Python bytes() method

26 May, 2022
Python byte() function converts an object to an immutable byte-represented object of given size and data.
Syntax : bytes(src, enc, err)
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.
 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 demonstrating# int to bytesstr = "Welcome to Geeksforgeeks" arr = bytes(str, 'utf-8') print(arr)
Output:
b'Welcome to Geeksforgeeks'
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 = 12result = bytes(number) print(result)
Output:
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
When we pass nothing in bytes() function then it creates an array of size 0.
Python3
print(bytes())
Output:
b''
Python3
# Python 3 code to demonstrate the# working of bytes() on int, iterables, none # initializing integer and iterablesa = 4lis1 = [1, 2, 3, 4, 5] # No argument caseprint ("Byte conversion with no arguments : " + str(bytes())) # conversion to bytesprint ("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'
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 ‘?’.
Python3
# Python 3 code to demonstrate the# working of bytes() on string # initializing stringstr1 = 'GeeksfÖrGeeks' # Giving ascii encoding and ignore errorprint("Byte conversion with ignore error : " +      str(bytes(str1, 'ascii', errors='ignore'))) # Giving ascii encoding and replace errorprint("Byte conversion with replace error : " +      str(bytes(str1, 'ascii', errors='replace'))) # Giving ascii encoding and strict error# throws exceptionprint("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)
kumar_satyam
abhisidbuddhagautam
sumitgumber28
Python-Built-in-functions
Python-Data Type
python-string
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Rotate axis tick labels in Seaborn and Matplotlib
Enumerate() in Python
Deque in Python
Stack in Python
Python Dictionary
sum() function in Python
Print lists in Python (5 Different Ways)
Different ways to create Pandas Dataframe
Queue in Python
Defaultdict in Python