Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перевод из кодировки Unix (ISO) в Win-1251 
:(
    Опции темы
AlexSaratov
Дата 18.9.2007, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 15.9.2007

Репутация: нет
Всего: нет



как собственно это сделать?
PM MAIL   Вверх
Fazil6
Дата 18.9.2007, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



есть такая либа iconv
тут

Добавлено через 7 минут и 36 секунд
вот такой пример
Код

namespace UTF8CONVERTER
{
    std::string convert(iconv_t cd, const std::string &val)
    {
        if(cd == (iconv_t)-1) return "";

        const size_t INBUFSIZE    =     val.length() + 1;
        const size_t OUTBUFSIZE    = 512;

        size_t x = INBUFSIZE;
        
        char *in_buf = new char[INBUFSIZE]; // удалить


        strncpy(in_buf, val.c_str(), val.length());
        in_buf[val.length()] = 0;
        const char * tbf = in_buf;


        std::string res;
        size_t con;
        while(x)
        {
            char out_buf[OUTBUFSIZE + 1];  
            char *pout_buf = out_buf;
            
            memset(pout_buf,0,OUTBUFSIZE + 1);
            
            size_t y = OUTBUFSIZE;
            con = iconv(cd, &tbf, &x, &pout_buf, &y);
            
            res += out_buf;
            
        }
        delete [] in_buf;
        return res;
    }

    std::string conv(const char to[], const char from[], const std::string &val)
    {
        iconv_t cd = iconv_open(to, from);
        std::string r = convert(cd, val);
        iconv_close(cd);
        return r;    
    }


};
std::string CONVERTER::UTF8ToWin1251(const std::string &val)
{
    return UTF8CONVERTER::conv( "windows-1251", "UTF-8", val);
}

std::string CONVERTER::Win1251ToUTF8(const std::string &val)
{
    return UTF8CONVERTER::conv("UTF-8", "windows-1251", val);    
}


PM MAIL   Вверх
AlexSaratov
Дата 22.9.2007, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 15.9.2007

Репутация: нет
Всего: нет



Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0601 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.