Warning
This documentation is for an old version of IPython. You can find docs for newer versions here.
Module: utils.encoding
¶
Utilities for dealing with text encodings
2 Functions¶
-
IPython.utils.encoding.
get_stream_enc
(stream, default=None)¶ Return the given stream’s encoding or a default.
There are cases where
sys.std*
might not actually be a stream, so check for the encoding attribute prior to returning it, and return a default if it doesn’t exist or evaluates as False.default
is None if not provided.
-
IPython.utils.encoding.
getdefaultencoding
(prefer_stream=True)¶ Return IPython’s guess for the default encoding for bytes as text.
If prefer_stream is True (default), asks for stdin.encoding first, to match the calling Terminal, but that is often None for subprocesses.
Then fall back on locale.getpreferredencoding(), which should be a sensible platform default (that respects LANG environment), and finally to sys.getdefaultencoding() which is the most conservative option, and usually ASCII on Python 2 or UTF8 on Python 3.