# -*- coding: utf-8 -*- from utils import SanitationUtils from kitchen.text import converters def printandrep(name, thing, back = ""): fmt_str = "%32s |" print fmt_str % name, fmt_str % converters.to_bytes(thing), fmt_str % repr(thing), fmt_str % converters.to_bytes(back), fmt_str % converters.to_bytes(unicode(back)) u_str = u"<\U0001F44C'&>" utf8_str = SanitationUtils.unicodeToUTF8(u_str) utf8_back = SanitationUtils.utf8ToUnicode(utf8_str) xml_str = SanitationUtils.unicodeToXml(u_str) xml_back = SanitationUtils.xmlToUnicode(xml_str) ascii_str = SanitationUtils.unicodeToAscii(u_str) ascii_back = SanitationUtils.asciiToUnicode(u_str) printandrep( "u_str", u_str ) printandrep( "utf8_str", utf8_str, utf8_back ) printandrep( "xml_str", xml_str, xml_back ) printandrep( "ascii_str", ascii_str, ascii_back ) print SanitationUtils.unicodeToUTF8(None) print SanitationUtils.utf8ToUnicode(None) print SanitationUtils.unicodeToXml(None) print SanitationUtils.xmlToUnicode(None) print SanitationUtils.unicodeToAscii(None) print SanitationUtils.asciiToUnicode(None) print SanitationUtils.coerceUnicode(None) SanitationUtils.safePrint(None) print converters.to_bytes(SanitationUtils.coerceUnicode("\xf0\x9f\x91\x8c"))