Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/47: Рейтинг темы: голосов - 47, средняя оценка - 4.81
8 / 8 / 10
Регистрация: 16.10.2012
Сообщений: 523

Конвертер из UTF8 - cp1251 и наоборот

04.10.2015, 15:47. Показов 9612. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Я понимаю, что данная тема уже поднималась на форуме, но я нашел код на c# который конвертит cp1251-utf8:
C#
1
2
3
4
5
6
7
8
9
10
11
12
private string Win1251ToUTF8(string source)
{
 
Encoding utf8 = Encoding.GetEncoding("utf-8");
Encoding win1251 = Encoding.GetEncoding("windows-1251");
 
byte[] utf8Bytes = win1251.GetBytes(source);
byte[] win1251Bytes = Encoding.Convert(win1251, utf8, utf8Bytes);
source = win1251.GetString(win1251Bytes);
return source;
 
}
и в другую сторону
C#
1
2
3
4
5
6
7
8
9
10
// Конвертирует строку из UTF-8 в Windows-1251
internal static string UTF8ToWin1251(string sourceStr)
{
Encoding utf8 = Encoding.UTF8;
Encoding win1251 = Encoding.GetEncoding("Windows-1251");
 
byte[] utf8Bytes = utf8.GetBytes(sourceStr);
byte[] win1251Bytes = Encoding.Convert(utf8, win1251, utf8Bytes);
return win1251.GetString(win1251Bytes);
}
Попытка перевести в С++ выдало следующее:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <string>
#include <vector>
#include <memory>
 
private:
std::wstring Win1251ToUTF8(const std::wstring &source)
{
 
std::shared_ptr<Encoding> utf8 = Encoding::GetEncoding(L"utf-8");
std::shared_ptr<Encoding> win1251 = Encoding::GetEncoding(L"windows-1251");
 
std::vector<unsigned char> utf8Bytes = win1251->GetBytes(source);
std::vector<unsigned char> win1251Bytes = Encoding::Convert(win1251, utf8, utf8Bytes);
source = win1251->GetString(win1251Bytes);
return source;
 
}
Однако ошибки зачастую в "Encoding", которого в чистом виде нету в С++, может есть знающие люди, как именно данный код можно поправить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.10.2015, 15:47
Ответы с готовыми решениями:

Написать программу конвертер текстовых файлов с одной кодировки в другую из файла (CP1251, UTF8, KOIR8)
Написать программу конвертер текстовых файлов с одной кодировки в другую из файла (текст кириллица. Помогите написать:)

Перекодировка строки из UTF8 в cp1251
Доброго времени суток. Почему не получается из UTF8 преобразовать в cp1251? std::string utf8_to_cp1251(const char *str) { ...

Перекодировка строки из cp1251 в UTF8
Доброго времени суток. У меня есть строка в cp1251, но мне нужно вывести в utf8. Как это лучше реализовать?

3
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
04.10.2015, 15:51
Цитата Сообщение от Darkvoid Посмотреть сообщение
я нашел код на c# который конвертит cp1251-utf8:
Цитата Сообщение от Darkvoid Посмотреть сообщение
Попытка перевести в С++ выдало следующее:
Может вместо того, чтобы искать код на C# и пытаться перевести на C++ - сразу искать код на C++?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
04.10.2015, 16:06
Чем сконвертировать в русский язык такие крякозябры?
И немного пояснений:
Работа с кодировками файла (АНСИ и ЮТФ-8)
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
04.10.2015, 16:24
Utf-8 строка в std::string
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.10.2015, 16:24
Помогаю со студенческими работами здесь

Текст в кодировке cp1251 перевести в utf8 и обратно?
Здорова! Вот есть код: #include &lt;iostream&gt; using std::cout; using std::endl; using std::cerr; using std::cin; #include...

из utf8 в cp1251
Всем привет ! Собственно сразу вопрос - как троку перекодировать из utf8 в cp1251 и обратно ? Желательно стандартными классами ...

Перевод из cp1251 в utf8
Как перевести программно на C# это: %CA%D0%C8% в читабельный текст?

преобразования utf8 <-> cp1251
Какими функциями лучше всего воспользоваться для преобразований utf8 в cp1251 и обратно ?

Перекодировка строки cp1251 в utf8
Здравствуйте! Помогите советом, плз. Нужно получить заголовок страницы, и, если кодировка страницы cp1251, перекодировать ее в utf8. Пробую...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru