Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
один экземпляр Char представляет один символ Юникода
Вместо этого я бы предпочёл, чтобы выводился какой-то специальный символ, показывающий, что исходный символ отсутствовал в ASCII и был утрачен.
Возможность использования суррогатных пар — это единственное различие между UTF-16 и UCS-2
UCS-4 и UTF-32 полностью решают эту проблему тем, что у них доступен более широкий диапазон значений: каждый символ занимает 4 байта, и этого хватает всем и каждому.
Суррогатные пары — это головная боль, ведь это значит, что строка, которая состоит из 10 символов, на самом деле может содержать от 10 до 5 включительно «настоящих» символов Юникода.
Должно ли ваше приложение рассматривать две строки, содержащие литеру «á» с ударением, но в одной представленную двумя символами, а во второй одним, как равные, или как разные?
Либо половину символа Юникода по другой терминологии.
Ну и не до конца понятно, зачем нам знать, 10 или 5 символов в строке?
Вообще — да. Если пишется приложение с поддержкой юникода не для «галочки».
Юникод и .NET