Python String decode() Method



The python string decode() method decodes the string using the codec registered for its encoding. The encoded string can be decoded and the original string can be obtained with the help of this function. This function works based on the parameters specified which are encoding and the error.

There are various types of standard encodings such as base64, ascii, gbk, hz, iso2022_kr, utf_32, utf_16, and many more. Based on the specified encoding, the string is decoded. During this process, different error handling schemes can be set using the errors parameter. Finally, this method returns the decoded string.

In the following section, we will be learning more details about the python string decode() method.

Syntax

The syntax of the python string decode() method is as follows.

Str.decode(encoding='UTF-8',errors='strict')

Parameters

The following are the parameters of the python string decode() function.

  • encoding − This parameter specifies the encodings to be used. For a list of all encoding schemes, please visit: Standard Encodings.

  • errors − This parameter specifies an error handling scheme. The default for errors is 'strict' which means that the encoding errors raise a UnicodeError. Other possible values are 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' and any other name registered via codecs.register_error().

Return Value

The python string decode() method returns a decoded string.

Example

The python string decode() method that takes 'utf_16' as its encoding has a variable length encoding done. If the error is specified as 'strict', then the encoding errors raise a UnicodeError.

In the following example, a string "Hello! Welcome to Tutorialspoint." is created and it is encoded using the encode() function. The encoded string is now taken and the decode() function is invoked to that string. The decoded string is obtained as output and printed using the print() function. In both the cases, the encoding used is the 'utf_16' and the error used is 'strict'.

str="Hello! Welcome to Tutorialspoint."
str_encoded= str.encode('utf_16','strict')
print("The encoded string is: ", str_encoded)
str_decoded=str_encoded.decode('utf_16', 'strict')
print("The decoded string is: ", str_decoded)

On executing the above program, the following output is generated -

The encoded string is:  b'\xff\xfeH\x00e\x00l\x00l\x00o\x00!\x00 \x00W\x00e\x00l\x00c\x00o\x00m\x00e\x00 \x00t\x00o\x00 \x00T\x00u\x00t\x00o\x00r\x00i\x00a\x00l\x00s\x00p\x00o\x00i\x00n\x00t\x00.\x00'
The decoded string is:  Hello! Welcome to Tutorialspoint.

Example

The python string decode() method that takes 'euc_kr' as its encoding has a variable length encoding done on korean characters. If the error is specified as 'strict', then the encoding errors raise a UnicodeError.

In the following example, a string "Hello! Welcome to Tutorialspoint." is created and it is encoded using the encode() function. The encoded string is now taken and the decode() function is invoked to that string and the decoded string is obtained as output and printed using the print() function. In both the cases, the encoding used is the 'euc_kr' and the error used is 'strict'.

str="Hello! Welcome to Tutorialspoint."
str_encoded= str.encode('euc_kr','strict')
print("The encoded string is: ", str_encoded)
str_decoded=str_encoded.decode('euc_kr', 'strict')
print("The decoded string is: ", str_decoded)

The following is the output obtained by executing the above program -

The encoded string is:  b'Hello! Welcome to Tutorialspoint.'
The decoded string is:  Hello! Welcome to Tutorialspoint.

Example

The python string decode() method that takes 'utf_32' as its encoding has a variable length encoding done. If the error is specified as 'replace', then it is replaced with a replacement marker. This is implemented in replace_errors().

In the following example, a string "Hello! Welcome to Tutorialspoint." is created and it is encoded using the encode() function. The encoded string is now taken and the decode() function is invoked to that string and the decoded string is obtained as output and printed using the print() function. In both the cases, the encoding used is the 'utf_32' and the error used is 'replace'.

str="Hello! Welcome to Tutorialspoint."
str_encoded= str.encode('utf_32','replace')
print("The encoded string is: ", str_encoded)
str_decoded=str_encoded.decode('utf_32', 'replace')
print("The decoded string is: ", str_decoded)

The following output is obtained by executing the above program -

The encoded string is:  b'\xff\xfe\x00\x00H\x00\x00\x00e\x00\x00\x00l\x00\x00\x00l\x00\x00\x00o\x00\x00\x00!\x00\x00\x00 \x00\x00\x00W\x00\x00\x00e\x00\x00\x00l\x00\x00\x00c\x00\x00\x00o\x00\x00\x00m\x00\x00\x00e\x00\x00\x00 \x00\x00\x00t\x00\x00\x00o\x00\x00\x00 \x00\x00\x00T\x00\x00\x00u\x00\x00\x00t\x00\x00\x00o\x00\x00\x00r\x00\x00\x00i\x00\x00\x00a\x00\x00\x00l\x00\x00\x00s\x00\x00\x00p\x00\x00\x00o\x00\x00\x00i\x00\x00\x00n\x00\x00\x00t\x00\x00\x00.\x00\x00\x00'
The decoded string is:  Hello! Welcome to Tutorialspoint.

Example

The python string decode() method that takes 'utf_32' as its encoding has a variable length encoding done. If the error is specified as 'backslashreplace', it implements the 'backslashreplace' error handling.

In the following example, a string "Hello! Welcome to Tutorialspoint." is created and it is encoded using the encode() function. The encoded string is now taken and the decode() function is invoked to that string and the decoded string is obtained as output and printed using the print() function. In both the cases, the encoding used is the 'utf_16_be' and the error used is 'backslashreplace'.

str="Hello! Welcome to Tutorialspoint."
str_encoded= str.encode('utf_16_be','backslashreplace')
print("The encoded string is: ", str_encoded)
str_decoded=str_encoded.decode('utf_16_be', 'backslashreplace')
print("The decoded string is: ", str_decoded)

The above program, on executing, displays the following output -

The encoded string is:  b'\x00H\x00e\x00l\x00l\x00o\x00!\x00 \x00W\x00e\x00l\x00c\x00o\x00m\x00e\x00 \x00t\x00o\x00 \x00T\x00u\x00t\x00o\x00r\x00i\x00a\x00l\x00s\x00p\x00o\x00i\x00n\x00t\x00.'
The decoded string is:  Hello! Welcome to Tutorialspoint.

Example

The python string decode() function without any parameters takes the default values of the encoding and executed accordingly.

In the following example, a string "Hello! Welcome to Tutorialspoint." is created and it is encoded using the encode() function with no parameters. The encoded string is now taken and the decode() function without parameters is invoked to that string and the decoded string is obtained as output and printed using the print() function.

str="Hello! Welcome to Tutorialspoint."
str_encoded= str.encode()
print("The encoded string is: ", str_encoded)
str_decoded=str_encoded.decode()
print("The decoded string is: ", str_decoded)

The output of the above program is displayed as follows -

The encoded string is:  b'Hello! Welcome to Tutorialspoint.'
The decoded string is:  Hello! Welcome to Tutorialspoint.
python_strings.htm
Advertisements