Я бы избавился от ссылок на ANSI на вашем месте. В контексте наборов символов и кодировок «ANSI» обычно относится к кодовой странице по умолчанию любой системы (Windows), в которой вы работаете. Это обычно означает одну из расширенных или измененных версий Microsoft существующего стандарта, например, windows-1252
вместо ISO-8859-1
. По иронии судьбы, эти расширения не были благословлены ANSI. Такое использование термина «ANSI» было придумано Microsoft и обычно можно найти в разделе выбора кодировки диалоговых окон «Сохранить как» в приложениях Microsoft, таких как Блокнот. Там вы обычно найдете опцию «Unicode», которая на самом деле означает UTF-16 (little-endian, без спецификации).
Поэтому, если вы действительно хотите понять Unicode, вы должны начать с того, что выкинете все, что вы узнали или сделали выводы, увидев это в программном обеспечении Windows (или стороннем программном обеспечении, которое эмулирует программное обеспечение Windows). На самом деле, выбросьте все , что вы до сих пор изучали в Юникоде, и начните все заново. Это сложный предмет, и, как и в случае любого другого сложного предмета, вы найдете гораздо больше плохой информации, чем хорошей.