Я ищу строку, которая приведет к сбою python3 при кодировании в UTF8.
s=?
s.encode("UTF-8") -> results in error
Спасибо за помощь
Я не уверен, что он существует, мне он нужен для решения CTF. Хотя может быть и другой способ ...
Извините, а что такое CTF?
Ошибка - это не то же самое, что сбой, обычно вы можете перехватить исключение, чтобы программа продолжала работать.
@Mark Ransom да, ты прав. В этом случае мне нужен python, чтобы выдать ошибку и выполнить код в блоке catch.
Кодировщик UTF-8 не позволяет строкам Unicode использовать «суррогатные» кодовые точки UTF-16 от U + D800 до U + DFFF:
>>> s = '\ud800'
>>> s.encode('UTF-8')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'utf-8' codec can't encode character '\ud800' in position 0: surrogates not allowed
вау, спасибо большое. Это именно то, что мне нужно!
Как вы думаете, почему существует такая строка?