Каков точный эквивалент python3 в юникоде python2(v, ошибки=»игнорировать»)?

#python-3.x #string #python-2.7 #python-unicode

Вопрос:

Каков точный эквивалент python3 для python2 unicode(v, errors='ignore') ?

Обратите внимание, что:

  1. v является ли любая строка (например six.string_types )
  2. errors='ignore' имеет решающее значение

Спасибо!

Ответ №1:

Если v уже является частью six.string_types , единственный вариант для v этого-быть а str . Python 3 str является эквивалентом Python 2 unicode , поэтому это преобразование является избыточным, так как вы просто собираетесь конвертировать str в str .

Если вы хотели преобразовать bytes (что не является частью six.string_types ) в str , то вы хотите b.decode("utf-8", errors="ignore") , или просто str(b, errors = "ignore") .

Комментарии:

1. Спасибо, что исправили мое понимание в вашем пункте 2 — работ!