Почему внутри программы все популярнее становятся строки UTF16, тогда как формат обмена данными UTF8? Например, в python3, delphi XE2, XE3 внутренние строки хранятся в UTF16. Ведь тогда лишнюю конвертацию данных надо проводить, когда на вход поступает UTF8, преобразуешь в UTF16, и то же самое делаешь на выходе - из UTF16 преобразуешь в UTF8.
Чем объясняется такая необходимость? Почему внутри строки в UTF16? Ведь проще сделать везде UTF8, и в форматах обмена и внутри.
			
		


 
  плохо думаете. В linux gcc/g++ например wstring/wchar орудуют 32-битным представлением уникода
  плохо думаете. В linux gcc/g++ например wstring/wchar орудуют 32-битным представлением уникода чем вы озвучили.
  чем вы озвучили.
 Конверитруется толко при чтении из файла и записи в файл, все остальные (ресурсовемкие) манипулциии - с быствым и индексириуемым представлением. РАботать в памяти с UTF8 - мазохизм типа "АНДРОИД вместо нативных приложений". 4-байтная UTF16 вряли когда-либо понадобится - даже китайцы с их иероглифами переключились на упрощенную (2 байтную) кодировку. 4 байта могут потребоваться разве что для будущих алфавитов инопланетян.
 Конверитруется толко при чтении из файла и записи в файл, все остальные (ресурсовемкие) манипулциии - с быствым и индексириуемым представлением. РАботать в памяти с UTF8 - мазохизм типа "АНДРОИД вместо нативных приложений". 4-байтная UTF16 вряли когда-либо понадобится - даже китайцы с их иероглифами переключились на упрощенную (2 байтную) кодировку. 4 байта могут потребоваться разве что для будущих алфавитов инопланетян.

