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