UTF-8¶
Functions for operating on byte str
encoded as UTF-8
Note
In many cases, it is better to convert to unicode
, operate on the
strings, then convert back to UTF-8. unicode
type can
handle many of these functions itself. For those that it doesn’t
(removing control characters from length calculations, for instance) the
code to do so with a unicode
type is often simpler.
Warning
All of the functions in this module are deprecated. Most of them have
been replaced with functions that operate on unicode values in
kitchen.text.display
. kitchen.text.utf8.utf8_valid()
has
been replaced with a function in kitchen.text.misc
.
-
kitchen.text.utf8.
utf8_text_fill
(text, *args, **kwargs)¶ Deprecated Similar to
textwrap.fill()
but understands utf-8 strings and doesn’t screw up lists/blocks/etc.Use
kitchen.text.display.fill()
instead.
-
kitchen.text.utf8.
utf8_text_wrap
(text, width=70, initial_indent='', subsequent_indent='')¶ Deprecated Similar to
textwrap.wrap()
but understands utf-8 data and doesn’t screw up lists/blocks/etcUse
kitchen.text.display.wrap()
instead
-
kitchen.text.utf8.
utf8_valid
(msg)¶ Deprecated Detect if a string is valid utf-8
Use
kitchen.text.misc.byte_string_valid_encoding()
instead.
-
kitchen.text.utf8.
utf8_width
(msg)¶ Deprecated Get the textual width of a utf-8 string
Use
kitchen.text.display.textual_width()
instead.
-
kitchen.text.utf8.
utf8_width_chop
(msg, chop=None)¶ Deprecated Return a string chopped to a given textual width
Use
textual_width_chop()
andtextual_width()
instead:>>> msg = 'く ku ら ra と to み mi' >>> # Old way: >>> utf8_width_chop(msg, 5) (5, 'く ku') >>> # New way >>> from kitchen.text.converters import to_bytes >>> from kitchen.text.display import textual_width, textual_width_chop >>> (textual_width(msg), to_bytes(textual_width_chop(msg, 5))) (5, 'く ku')
-
kitchen.text.utf8.
utf8_width_fill
(msg, fill, chop=None, left=True, prefix='', suffix='')¶ Deprecated Pad a utf-8 string to fill a specified width
Use
byte_string_textual_width_fill()
instead