![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
Приветствую!
Собственно, САБЖ. Бывают ли кодировки, в которых количество байт в которые кодируется символ может изменяться от символа к символу? -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
UTF-8 - если я правильно понял вопрос
Это сообщение отредактировал(а) korob2001 - 2.12.2010, 17:01 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
korob2001, Я думал в кодеровке UTF-8 - все символы ровно по 8 бит. Есть символы, которые занимают меньше?
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Этот кусок текста я взял отсуюда: http://ru.wikipedia.org/wiki/UTF-8 Это сообщение отредактировал(а) korob2001 - 2.12.2010, 17:07 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
http://en.wikipedia.org/wiki/UTF-8 Вопрос снят. Я бы даже не подумал читать об этом. Мне казалось это все настолько тривиальным... Ужос! Теперь мне нужно нехило переделать движок регекспов, чтобы поддерживать по-настоящему юникод... Добавлено через 29 секунд korob2001, опередил -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Т.е. кодирование в UTF-8 происходит по более уной схеме, в отличае от UTF-16 - где на каждый симол выделяется 2 байта (16 бит).
Это сообщение отредактировал(а) korob2001 - 2.12.2010, 17:15 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
korob2001, насчет умной можно поспорить. Например в программировании UTF-8 неудобна (не сразу тебе по количеству байт узнать сколько символов, не выделить нужное кол-во в буфере байт под получаемую строку...)...
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| neutrino |
|
||||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
Непонятно, как тогда в дотНете в два байта обычного char-а запихивают все возможные символы? Ведь UTF-16, которым пользуется дотНет тоже не имеет постоянную длину.
Добавлено @ 17:38
http://en.wikipedia.org/wiki/UTF-16/UCS-2 Добавлено @ 17:41 Еще вопрос, а используется Big Endian Notation или что? -------------------- The truth comes from within ... Покойся с миром, Vit |
||||
|
|||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Можно поспорить и с тем, что в программировании UTF-8 не удобна. Хотя наверное это зависит от области программирования, лично мне ещё ниразу не приходилось сталкиваться с задачей, в которой нужно было бы юзать UTF-16, вместо UTF-8. Умная, в данном контексте, означает - что она выделяет необходимую память, для конкретного символа. К тому же если Unicode не поддерживается, то символы попадающие в диапазон ASCII всё же будут доступны. Это сообщение отредактировал(а) korob2001 - 2.12.2010, 18:50 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |