Kobra писал(а):
Вот еслиб еще из UTF-16 преобразовывало------------ Дoбавленo:
нашел в инэте -- UTF-16, он же UNICODE, он же UCS2, он же wchar_t широко применяется в сотовой связи для передачи SMS
------------ Дoбавленo:
Я думаю, что надо остановиться на вот этом
Почему же именно UTF-8, а не UTF-16 или UTF-32, так это потому что UTF-8 это единственная из кодировок, обладающая определённой обратной совместимостью
А вот более подробная инфа про UTF-8
UTF-8 (от англ. Unicode Transformation Format — формат преобразования Юникода) — в настоящее время распространенная кодировка, реализующая представление Юникода, совместимое с 8-битным кодированием текста.
Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байтов (реально только до 4 байт, поскольку использование кодов больше 221 не планируется), в которых первый байт всегда имеет вид 11xxxxxx, а остальные — 10xxxxxx.
Проще говоря, в формате UTF-8 символы латинского алфавита, знаки препинания и управляющие символы ASCII записываются кодами US-ASCII, a все остальные символы кодируются при помощи октетов со старшим битом 1. В результате, даже если программа не распознаёт Юникод, то латинские буквы, арабские цифры и знаки препинания будут отображаться правильно. Поэтому UTF-8 часто применяется для экономии места на диске в различных компьютерных языках, основанных на английском — обычно английские буквы и знаки препинания занимают существенно больший объём текста, чем строки.
Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком и реализован в Plan 9[1]. Сейчас стандарт UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D.
Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байтов (реально только до 4 байт, поскольку использование кодов больше 221 не планируется), в которых первый байт всегда имеет вид 11xxxxxx, а остальные — 10xxxxxx.
Проще говоря, в формате UTF-8 символы латинского алфавита, знаки препинания и управляющие символы ASCII записываются кодами US-ASCII, a все остальные символы кодируются при помощи октетов со старшим битом 1. В результате, даже если программа не распознаёт Юникод, то латинские буквы, арабские цифры и знаки препинания будут отображаться правильно. Поэтому UTF-8 часто применяется для экономии места на диске в различных компьютерных языках, основанных на английском — обычно английские буквы и знаки препинания занимают существенно больший объём текста, чем строки.
Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком и реализован в Plan 9[1]. Сейчас стандарт UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D.
Вот на нем мы и остановимся, тк он является стандартным, а все будушее оставим будущим поколениям