Дык с тем, что в разном окружении удобно с разными кодировками, никто и не спорит...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, sidorov18, Вы писали:
S>Что касается UTF-16 — в каких языках она не покрывает символ/2 байта?
Ну, например, в контонском варианте китайского...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, gegMOPO4, Вы писали:
MOP>Какой ещё CreateFile-Shmile? Мы в форуме C++ или где? fopen, fstream скорее заработают с UTF-8, чем с wchar_t.
э-э-э, СТАНДАРТНЫЕ fopen, fstream берут на вход ANSI строку...
Их версия от UTF-8, такое же НЕСТАНДАРТНОЕ расширение, как и версия от wchar_t const* ...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, gegMOPO4, Вы писали:
MOP>Проблемы китайцев WASP не волнуют?
Боюсь, что ты сильно преувеличиваешь проблемы китайцев...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Banned by IT, Вы писали:
WM>>Весьма сомнительное достижение. BBI>Я бы назвал это разумным компромиссом.
Шутишь?
Разумный компромисс — это когда берут два способа и объединяют их достоинства вопреки мелким недостаткам.
А вот когда берут два способа, объединяют их недостатки ради мелких достоинств — это ну никак не называется компромиссом.
Тут как раз больше недостатков: увеличили объём по сравнению с UTF-8, замедлили скорость поиска по сравнению с UTF-32.
Нет, UTF-16 появился не в результате компромисса. Достоинство UTF-16 в частичной совместимости с UCS-2, а именно корректная строка в UCS-2 остаётся корректной в UTF-16 (кстати говоря, точно такая же ситуация и у пары ASCII–UTF-8). То есть использование UTF-16 позволяло относительно с низкими затратами перевести на современный юникод программы рассчитанные на UCS-2 (точно так же как UTF-8 был призван относительно с низкими затратами перевести на современный юникод программы рассчитанные на ASCII). Вот только UCS-2 уже умер (в отличии от ASCII), а вместе с ним исчезло и последнее достоинство UTF-16. Всё просто — это представление, созданное ради обратной совместимости, сейчас существует ради обратной совместимости.
Здравствуйте, Erop, Вы писали: E>Здравствуйте, gegMOPO4, Вы писали: MOP>>Какой ещё CreateFile-Shmile? Мы в форуме C++ или где? fopen, fstream скорее заработают с UTF-8, чем с wchar_t. E>э-э-э, СТАНДАРТНЫЕ fopen, fstream берут на вход ANSI строку...
Что такое «ANSI строка»?
The fopen function opens the file whose name is the string pointed to by filename,
and associates a stream with it.
ANSI упоминается только в ссылках на ANSI X3/TR−1−82, ANSI/IEEE 754−1985 и ANSI/IEEE 854−1987.
Здравствуйте, gegMOPO4, Вы писали:
MOP>Что такое «ANSI строка»?
строка сhar'ов, каждый из которых -- отдельная буква...
MOP>The fopen function opens the file whose name is the string pointed to by filename, MOP>and associates a stream with it.
Ты не то смотришь. Ты на определение что такое char смотри
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
E>э-э-э, СТАНДАРТНЫЕ fopen, fstream берут на вход ANSI строку... E>Их версия от UTF-8, такое же НЕСТАНДАРТНОЕ расширение, как и версия от wchar_t const* ...
Стандартный fopen берет на вход char. Что такое char и как его интерпретировать зависит от локали, быть отдельным байтом мультибайтной кодировки (в т. ч. и UTF-8) ему никто не мешает.
Здравствуйте, Erop, Вы писали: E>Здравствуйте, gegMOPO4, Вы писали: MOP>>Проблемы китайцев WASP не волнуют? E>Боюсь, что ты сильно преувеличиваешь проблемы китайцев...
Здравствуйте, Erop, Вы писали: E>Здравствуйте, gegMOPO4, Вы писали: MOP>>Что такое «ANSI строка»? E>строка сhar'ов, каждый из которых -- отдельная буква...
А что такое буква?
MOP>>The fopen function opens the file whose name is the string pointed to by filename, MOP>>and associates a stream with it. E>Ты не то смотришь. Ты на определение что такое char смотри
Зачем мне определение char, если нужно определение string?
A string is a contiguous sequence of characters terminated by and including the first null
character. The term multibyte string is sometimes used instead to emphasize special
processing given to multibyte characters contained in the string or to avoid confusion
with a wide string. A pointer to a string is a pointer to its initial (lowest addressed)
character. The length of a string is the number of bytes preceding the null character and
the value of a string is the sequence of the values of the contained characters, in order.
Здравствуйте, gegMOPO4, Вы писали:
MOP>А что такое буква?
От языка зависит...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, B0FEE664, Вы писали: BFE>Здравствуйте, gegMOPO4, Вы писали: MOP>>Если начинать с совсем чистого листа, следовало бы делать char 16-битным. Но Ритчи† уже далеко. BFE>Это можно сделать и сейчас. Стандарт позволяет.
Стандарт позволяет, совместимость не позволяет.
Надо бы, надо родить бабу новую,
Светлу, понятну, идейно толковую,
Да грешный наследный вредит геморрой.
Здравствуйте, Erop, Вы писали:
E>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>>Здравствуйте, Erop, Вы писали:
E>>>При этом с регисторм есть такая беда, что всё равно надо знать язык, чтобы понять какие маленькие буквы каким большим соответствуют.
PD>>LCMapString PD>>For a locale specified by identifier, maps one input character string to another using a specified transformation, or generates a sort key for the input string.
PD>>int LCMapString( PD>> LCID Locale, PD>> DWORD dwMapFlags, PD>> LPCTSTR lpSrcStr, PD>> int cchSrc, PD>> LPTSTR lpDestStr, PD>> int cchDest PD>>);
E>Ты не то выделил, IMHO...
То.
E>Как это не печально, но в разных языках РАЗНОЕ соответствие больших букв маленьким. Разное и всё тут, хоть ты тресни. E>Так что если язык не знаешь, а знаешь только буквы, например UTF-16, то фиг ты чего сконвертируешь
Именно этим функция и занимается. Как — вопрос к MS. А выделил я не локаль (это очевидно, что она тут нужна), а просто тот факт, что на входе ей можно подавать и Юникод, и ASCII.
Здравствуйте, Erop, Вы писали:
E>Здравствуйте, Banned by IT, Вы писали:
BBI>>И ещё вообще везде где надо знать сколько буковок будет выведено.
E>А что значит "буковок"? Вот, например, Ы -- это скока буковок?.. А арабское слово, какое-нибудь? А арабское слово с огласовками?
Я так понимаю — это одна буква
Иначе задача бы звучала — количество каракулей.
Здравствуйте, gegMOPO4, Вы писали:
MOP>Здравствуйте, sidorov18, Вы писали: S>>Не суйте UTF-16 туда, где предполагается ANSI и наоорот.
MOP>Не было бы куда совать UTF-16, и проблем бы не было.
И наоборот
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока