1 | |
Перевод символа в Юникод24.06.2011, 12:05. Показов 14482. Ответов 31
Метки нет (Все метки)
Подскажите пожалуйста как закодировать например вот такую строку
привет что бы она стала такой? %D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82 Википедии увидел такой алгоритм: 1)Переводим символ в Юникод. 2)затем разделяем каждый байт знаком процента подскажите как сделать первый пункт?
0
|
24.06.2011, 12:05 | |
Ответы с готовыми решениями:
31
Вывод юникод символа в консоль Какой код символа в кодировке Юникод отвечает за символ исключающее или ("⊕") ("XOR") Получение символа по юникод-коду символа Перевод из Base64 в юникод |
06.07.2011, 06:28 [ТС] | 21 | |||||
странно у меня wchat_t == 2
Добавлено через 12 минут
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
06.07.2011, 09:26 | 22 |
0
|
0 / 0 / 3
Регистрация: 13.03.2014
Сообщений: 16
|
||||||
19.03.2014, 10:40 | 24 | |||||
А есть обратная функция (UrlDecode), для работы с кириллицей?
Добавлено через 9 часов 54 минуты есть вот такой код:
Как грамотно переделать код чтобы он различал где брать 2 пары символов для одной буквы, а где пару например пробел - %20 или знак равно - %3D?
0
|
0 / 0 / 3
Регистрация: 13.03.2014
Сообщений: 16
|
||||||
19.03.2014, 11:50 | 26 | |||||
Надо из hex перевести в UTF-8. Основная задача распознать в каком случае брать одну пару символов, а когда 2 пары (русские буквы)
есть таблица http://web-developer.name/urlcode/ где есть все символы я бы, конечно мог сделать что-то в роде (не с++):
Но хочется сделать по нормальному.
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
19.03.2014, 11:57 | 27 |
UTF-8 это байт-ориентированная кодировка, поэтому если задача стоит именно как процитировано, то никаких пар символов распознавать не надо. Переводить надо именно побайтно. Другое дело, если вопрос стоит как декодированную последовательность байтов перевести из UTF-8 в какую-нибудь однобайтовую кодировку (типа cp1251), но это другая задача и здесь есть много разных средств. Я бы использовал libiconv, наверное. Кажется в WinAPI тоже что-то было.
0
|
0 / 0 / 3
Регистрация: 13.03.2014
Сообщений: 16
|
|
19.03.2014, 12:09 | 28 |
задача собственно стоит в переводе из строки:
%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%3D в строку "Привет=" Тут каждый кириллический (далее буду писать русский) символ состоит из пары шестнадцатиричных чисел, а = состоит из 1го шестнадцатиричного числа (hex) %3D. Как брать не по парам, я не понимаю. Добавлено через 5 минут Код, который я приводил вместо П (%d0%9F) пишет Ð (это %d0) и Ÿ (это %9F), то есть П, вместо П. Так как по одному hex-числу
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
||||||
19.03.2014, 12:15 | 29 | |||||
Это говорит от том, что код работает правильно.
Вот, тот же самый код, только законченный.
Код
$ ./hello %D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%3D Привет=
1
|
0 / 0 / 3
Регистрация: 13.03.2014
Сообщений: 16
|
|
19.03.2014, 12:23 | 30 |
Если так, то это радует.
То есть перед самым выводом строку надо перевести из utf-8 или на этапе формирования строки?
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
19.03.2014, 12:27 | 31 |
Зависит от того, для чего эта строка нужна. Если только для вывода, то перед выводом. Если для чего-то ещё, то возможно стоит перекодировать её во внутреннее юникодное представление в виде wchar_t*. Надо посмотреть среди функций WinAPI, должна быть подходящая.
Добавлено через 1 минуту MultiByteToWideChar
1
|
0 / 0 / 3
Регистрация: 13.03.2014
Сообщений: 16
|
|
19.03.2014, 17:09 | 32 |
Моя прога получает данные извне (Удаленный сервер шлет), проверяет данные и отсылает в локальную БД.
То есть мне надо получить, перекодировать, потом отправить данные. Среда MS Visual C++ 6.0. Попробую MultiByteToWideChar Добавлено через 3 часа 21 минуту Результаты: закодированная строка: Message%3D%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%20%D0%BC%D0%B8%D1%80%7C раскодированная строка: Message=╨Я╤А╨╕╨▓╨╡╤В ╨╝╨╕╤А| переведена из UTF-8 в сp1251: Message=╧ЁштхЄ ьшЁ| подшаманина для вывода в консоль: Message=Привет мир| угадайте какая была исхододная пока только в консоле для тестов работает, сейчас в прогу все функции вставлю: посмотрим будет ли работать.
0
|
19.03.2014, 17:09 | |
19.03.2014, 17:09 | |
Помогаю со студенческими работами здесь
32
Перевод символа в число Перевод символа в число и обратно. Перевод символа в верхний регистр Перевод символа в нижний регистр Перевод символа в верхний регистр Программа – «Перевод символа в числовой код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |