4 / 4 / 0
Регистрация: 10.01.2012
Сообщений: 43
1

UCS to String

17.04.2012, 20:26. Показов 1160. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите перекодировать из UCS2 (UTF-16) в обычный текст char(0-255)
Написал такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    String out = "", UCS = "003300300036002C003000310020044004430431002E003100330038002E00370037002004310430043B002E00200421043B04430448043004390020042504180422042B0020041104150417041B0418041C04180422041D041E003A0020002A003500310035002A003100230020043704300020003100300440002F0434";
    int sym = 0;
    wchar_t res;
    for (int i=1; i<=UCS.Length(); i+=4) {
        sym = StrToIntDef("$"+UCS.SubString(i, 4), 0);
        if( sym>=1040 && sym<=1103 ) {
            res = sym - 848;
        } else if( sym==1105 ) {
            res = 184;
        } else {
            res = sym;
        }
        out+= String(res); // IntToStr(res)+"-";//
    }
    Memo1->Text = out;
Работает, но кириллицу криво выводит:
306,01 ðóá.138.77 áàë. Ñëóøàé ÕÈÒÛ ÁÅÇËÈÌÈÒÍÎ: *515*1# çà 10ð/ä

Как это исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2012, 20:26
Ответы с готовыми решениями:

Сохранение в кодировке UCS-2 с BOM
Всем доброго времени суток. Есть необходимость сохранить файл в кодировке UCS-2 little endian сам...

Перекодировать из UCS-2 Little Endian в UTF
Есть много файлов *.txt в кодировке (как я понял) UCS-2 Little Endian. Как перевести эти файлы в...

Подскажите с кодировкой файла в UCS-2
Всем привет. Не получается получить на выходе файл в кодировке UCS-2 LE BOM. (из win-1251)...

Перевести текст в формат UCS
Здравствуйте, собственно как перевести текст в формат UCS, правда не знаю толком что это такое,...

4
143 / 122 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
17.04.2012, 20:37 2
есть функция iconv вот ссылки приблизительные... попробуй разобраться

https://www.cyberforum.ru/c-linux/thread43639.html
http://www.opennet.ru/base/dev/iconv_c.txt.html
1
4 / 4 / 0
Регистрация: 10.01.2012
Сообщений: 43
17.04.2012, 20:56  [ТС] 3
Цитата Сообщение от QWIPQ Посмотреть сообщение
есть функция iconv вот ссылки приблизительные... попробуй разобраться

https://www.cyberforum.ru/c-linux/thread43639.html
http://www.opennet.ru/base/dev/iconv_c.txt.html
Нет у меня iconv, есть что-нибудь для билдера 2009 без левых докачек?
0
143 / 122 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
17.04.2012, 21:13 4
Цитата Сообщение от chuvak2008f Посмотреть сообщение
без левых докачек?
есть для етого в Win API функция WideCharToMultistring... вот ссылка на инфу
http://msdn.microsoft.com/en-u... 85%29.aspx
1
4 / 4 / 0
Регистрация: 10.01.2012
Сообщений: 43
17.04.2012, 22:24  [ТС] 5
Цитата Сообщение от QWIPQ Посмотреть сообщение
есть для етого в Win API функция WideCharToMultistring... вот ссылка на инфу
http://msdn.microsoft.com/en-u... 85%29.aspx
Всё спасибо, не надо никаких функций. Оказывается я с самого начала не правильно делал!
Тип String - это тип держащий UTF кодировку! а не ANSI. В коде у меня уже кодировал в знак 0-255, оказывается этого вообще не надо было делать) Зря провозился пол дня)

Вот рабочий код:
C++
1
2
3
4
5
6
7
String out = "", UCS = "003300300036002C003000310020044004430431002E003100330038002E00370037002004310430043B002E00200421043B04430448043004390020042504180422042B0020041104150417041B0418041C04180422041D041E003A0020002A003500310035002A003100230020043704300020003100300440002F0434";
    wchar_t res;
    for (int i=1; i<=UCS.Length(); i+=4) {
        res = StrToIntDef("$"+UCS.SubString(i, 4), 0);
        out+= String(res);
    }
    Memo1->Text = out;
0
17.04.2012, 22:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2012, 22:24
Помогаю со студенческими работами здесь

Чтение из файла с кодировкой UCS-2 LE BOM
Приветствую. Написал &quot;прогу&quot; которая считывает по символьно текст из файла в массив и выводит...

Из UCS-2 Little Endian в UTF-8 без BOM
Здравствуйте! Имеется файлик xml в кодировке UCS-2 Little Endian. Хочу написать обработчик на...

Информация по серверу от Cisco UCS C220 M3 SFF
Доброго времени суток всем! Не могли бы рассказать про сервер Cisco UCS C220 M3 SFF, 2xE5-2690,...

Создайте класс Animal. Добавьте поля string Name, string Kind, string Areal, int Population
Здравствуйте! По C# есть задачка, с которой я так и не разобрался :( Задача: Создайте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru