UTF-8¶
Functions for operating on byte bytes
encoded as UTF-8
Note
In many cases, it is better to convert to str
, operate on the
strings, then convert back to UTF-8. str
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 str
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