У меня есть строка utf8 с символами, отличными от ASCII. Мне нужно поместить его в html-файл в форме амперсанд-хэш-цифр-с запятой. Каков наилучший способ сделать это?Python: что является самым простым способом преобразования строки utf8 в
2
A
ответ
2
Используйте .encode
метод с 'xmlcharrefreplace'
передается в качестве параметра errors
:
In [1]: help(unicode.encode)
Help on method_descriptor:
encode(...)
S.encode([encoding[,errors]]) -> string or unicode
Encodes S using the codec registered for encoding. encoding defaults
to the default encoding. errors may be given to set a different error
handling scheme. Default is 'strict' meaning that encoding errors raise
a UnicodeEncodeError. Other possible values are 'ignore', 'replace' and
'xmlcharrefreplace' as well as any other name registered with
codecs.register_error that can handle UnicodeEncodeErrors.
In [2]: ustr = u'\xa9 \u20ac'
In [3]: print ustr
© €
In [4]: print ustr.encode('ascii', 'xmlcharrefreplace')
© €
Что преобразовывается, в UTF-8 байт или Unicode элемент кода они кодируют? –