Как обрабатывать суррогатные пары в Юникоде Python
В Python суррогатные пары используются для представления символов Юникода за пределами базовой многоязычной плоскости (BMP) ). Эти пары состоят из двух суррогатных кодовых точек, которые используются для кодирования одного символа Юникода.
При работе со строками Юникода Python, содержащими суррогатные пары, вы можете столкнуться с ошибками, связанными с суррогатным кодированием. Эти ошибки возникают потому, что Python обрабатывает суррогатные пары по-разному в зависимости от контекста.
Обработка суррогатных пар
Чтобы преобразовать суррогатную пару в обычную строку, у вас есть несколько вариантов:
Используйте json Модуль:
Кодируйте и декодируйте с помощью метода encode():
Пример:
emoji = "This is \ud83d\ude4f, an emoji."
encoded = emoji.encode("utf-16")
decoded = encoded.decode("utf-16")
print(decoded) # Output: "This is ?, an emoji."
Используйте обработчик ошибок surrogatepass:
Пример:
encoded = emoji.encode("utf-16", "surrogatepass")
decoded = encoded.decode("utf-16")
print(decoded) # Output: "?"
Обратите внимание, что выбранный вами подход будет зависеть от конкретного контекста и желаемого формата вывода.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3