![]() |
|
Модераторы: bsa |
![]()
|
|
| iglaweb |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 13.8.2009 Репутация: нет Всего: нет |
Как разделить код символа Unicode'а на два значения, подобно тому как делает char
В y заполнен только первый байт и все(1072, что соответствует символу 208 из кодировки ISO 8859-5). Как этот код числа разделить?
В ch же содержится два кода(208 и 176). Как сделать подобное с Unicode? Это сообщение отредактировал(а) iglaweb - 25.9.2009, 00:54 |
||||
|
|||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 8 Всего: 146 |
это? |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
unicode, это не кодировка!!!
|
|||
|
||||
| iglaweb |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 13.8.2009 Репутация: нет Всего: нет |
||||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Ничего не понимаю. А как это назвать? Что тогда кодировка? iglaweb, а какой у вас компилятор? И зачем вам разделять код символа на два байта? |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
это стандарт кодирования символов unicode текст может быть представлен в разных форматах, UTF-8, UTF-16 и тд |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
||||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
||||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
ИМХО. Вы уж перегнули кажется с дотошностью.
Во-первых статья переводная и лезть в дебри происхождения и значения слова "кодировка" пустое занятие. Во-вторых - следуя вашей логике Уникод надо считать набором кодировок? Тогда как быть с куском уникода UCS? это именно кодировка. ИМХО. Не придирайтесь к словам. Говорить фразу "В кодировке UTF-8 набора символов уникод" доллго и громоздко, чем просто "В кодировке Уникод. UTF-8". Если вы имеете в виду, что уникод несколько больше чем просто кодировка - вы правы, но вы же говорите "указатель содержит адрес в памяти" не в даваясь в подробности организации виртуального адресного пространства И вообще, значение слова кодировка символа в моем понимании - это то, когда по числовому коду можно идентифицировать символ алфавита либо служебный символ. Если не так - тогда надо срочно придумать другое слово |
|||
|
||||
| Lazin |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
character encoding, кстати, оригинал найти совсем не сложно
Это не моя логика, это реальность, ты можешь либо работать с двоичным представлением строки, либо работать с последовательностью кодовых точек, но только тогда, когда ты знаешь, с помощью какой кодировки была закодирована(encoded) строка текста. Можно закодировать unicode данные используя какую-нибудь кодировку; можно декодировать данные из строки байт, используя ту-же кодировку, а можно использовать неправильную кодировку и получить неправильные данные на выходе. Когда твоя программа использует wstring и wchar_t для представления текста, это не проблема, но когда программе нужно общаться с внешним миром, то строки в "кодировке юникод" неожиданно начинают выглядеть как набор крокозяблов
приблизительные формулировки, приводят к приблизительным знаниям |
||||||
|
|||||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
iglaweb, char ничего никуда не разделяет.
sizeof(wchar_t) равен 2 (Windows) или 4. sizeof(char) равен 1 L"АВБГД" - говорит компилятору, что нужно преобразовать строковый литерал в набор wchar_t Если ты хочешь получить доступ к битовым полям, то используй для этого соответствующие методы:
|
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Конечно программирование любит лаконичность. Но кто-то из фантастов (кажется Лем) описывал историю, когда создатель робота захотел избавится от кучи старых глобусов у себя в квартире. И приказал роботу - выкинь все шарообразные предметы. Робот выкинул все глобусы вместе с головой создателя. ИМХО. Не ради спора (собственно я даже не спорил, а мне интересно было как называть "юникод" - ведь даже в название есть корень "код"), а ради избавления от излишней занудливости Если разобрать русское слово "кодировать" то юникод содержит код символа и некий код правила декодирования. Проблема в том, что одиночный символ невозможно декодировать если сказать только то, что он в кодировке юникод - тут вы совершенно правы, надо обязательно уточнить в какой именно "модификации" юникода. Но от этого юникод не перестает быть таблицей кодов символов и слово кодировка вполне к таким вещам применима. В общем ладно - не будем офтоп разводить - не та тема. |
|||
|
||||
| iglaweb |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 13.8.2009 Репутация: нет Всего: нет |
Короче:
Потом же я делаю так:
Но так я получил только %D0, это прописная буква 'а'. Но для передачи в ссылке или в запросе кроме %D0, нужен %B0. Вот пример: http://yandex.ru/yandsearch?text=%D0 - В поиск забивается буква 'а'? Нет! А если так: http://yandex.ru/yandsearch?text=%D0%B0 - Уже она) Мне надо было по коду символа юникода, получить в 16-ом виде код соответствующего ASCII символа (http://ru.wikipedia.org/wiki/ISO_8859-5) Это сообщение отредактировал(а) iglaweb - 25.9.2009, 16:38 |
||||
|
|||||
| iglaweb |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 13.8.2009 Репутация: нет Всего: нет |
||||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
iglaweb, я тебе скажу, что ты извращенец, причем в жесткой форме.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |