Именованные ссылки удобны для небольшого распространённого набора. Числовые равномерно покрывают Unicode. EntityCodec явно использует замену и не придумывает имена.

Имена с десятичной заменой

Распространённые © и — становятся © и —. Остальные выбранные не-ASCII получают десятичную ссылку.

Символы вне BMP остаются целыми

Числовое кодирование обходит кодовые точки, а не половины UTF-16. Emoji получает одну ссылку, а не две суррогатные.

Проверьте точное место использования

Кодирование символьных ссылок меняет представление текста, а не уровень доверия к данным. Оставляйте результат текстом, пока целевая система не применит правильное для контекста экранирование или санитизацию. После вставки сравните результат полностью. Для воспроизводимой проверки храните один буквальный пример рядом с ожидаемой кодированной формой, дважды выполните один и тот же профиль и сверьте каждый амперсанд, точку с запятой, кодовую точку, пробел и перенос. Затем проверьте текстовую привязку целевой системы на безвредных характерных символах. Если система нормализует, повторно декодирует или рендерит значение, документируйте это отдельно: такое поведение уже находится за границей EntityCodec.