.encode()
The .encode()
method takes a given string and returns an encoded version of that string. If no encoding specifications are given, UTF-8 is used by default.
Syntax
string.encode(encoding='encoding', errors='errors')
string
(required): The string to encode.encoding
(optional): The type of encoding to use. For example, some types of encoding are UTF-32, ASCII, Base64, and UTF-16. If none are specified, UTF-8 will be used.errors
(optional): How to handle errors if the string cannot be encoded. There are six error responses:strict
: AUnicodeDecodeError
will be raised on failure. If no error handling is specified, this is the default.ignore
: Ignore characters that cannot be encoded.replace
: Replace the characters that cannot be encoded with a question mark.xmlcharrefreplace
: If there is a character that cannot be encoded, an XML character reference will be inserted in its place.backslashreplace
: If there is a character that cannot be encoded, the\uNNNN
characters will be inserted in its place.namereplace
: If there is a character that cannot be encoded, the\N{...}
characters will be inserted in its place.
Example
In the following example, the .encode()
method is called twice. The first call does not specify the optional parameters, so the string is encoded in UTF-8 and will throw a UnicodeDecodeError
if there is failure. The second call specifies that the string will be encoded using ascii
and that errors will be handled using xmlcharrefreplace
.
example_a = 'Lèarning Pythön!'example_b = 'Consistèntly!'default_example = example_a.encode()ascii_example = example_b.encode(encoding='ascii', errors='xmlcharrefreplace')print("Default example:", default_example)print("ASCII example:", ascii_example)
This will result in the following output:
Default example: b'L\xc3\xa8arning Pyth\xc3\xb6n!'ASCII example: b'Consistèntly!'
Codebyte Example
The following example is runnable and uses the .encode()
method twice. The first call does not specify encoding or error handling, so UTF-8 and strict
error handling is used. The second call specifies UTF-16 and ignore
error handling is used.
Contribute to Docs
- Learn more about how to get involved.
- Edit this page on GitHub to fix an error or make an improvement.
- Submit feedback to let us know how we can improve Docs.
Learn Python on Codecademy
- Career path
Computer Science
Looking for an introduction to the theory behind programming? Master Python while learning data structures, algorithms, and more!Includes 6 CoursesWith Professional CertificationBeginner Friendly75 hours - Course
Learn Python 3
Learn the basics of Python 3.12, one of the most powerful, versatile, and in-demand programming languages today.With CertificateBeginner Friendly23 hours