Конструкция &#(number);
в HTML (и XML) называется ссылкой на символ. Это не зависит от Unicode, за исключением того, что все символы в HTML определены в терминах Unicode, независимо от того, включены ли они дословно или закодированы как ссылка на символ или сущность. (Ссылки на сущности являются именованными, которые выглядят как é
или &
, и если вы просматриваете HTML-страницу, вам, безусловно, придется иметь дело и с ними.)
В стандартной библиотеке нет функции для декодирования ссылок на символы или объекты. См. этот вопрос о подходах к декодированию текстового содержимого HTML. Если у вас есть только ссылки на символы и стандартные объекты XML, такие как &
, вы можете использовать NSXMLParser
для анализа <element>
+ yourstring + </element>
, но это не будет обрабатывать специфичные для HTML объекты, такие как é
.
Как правило, очистку экрана лучше всего выполнять с помощью правильного анализатора HTML, а не с помощью взлома строк. Это преобразует весь текстовый контент в текстовые узлы, конвертируя ссылки на символы и сущности по мере необходимости. Однако, опять же, в стандартной библиотеке нет анализатора HTML. Если целевая страница имеет правильный формат XHTML, вы можете снова использовать NSXMLParser
. В противном случае вы можете попробовать libxml2, который предлагает анализатор HTML, а также XML. См. этот вопрос для некоторого фона.