Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Vasilijs
0 / 0 / 1
Регистрация: 20.10.2014
Сообщений: 17
#1

Перекодировать текст с UTF-8 в ASCII - C++

18.11.2014, 21:46. Просмотров 1830. Ответов 17
Метки нет (Все метки)

Даже не знаю с чего начать
Задача такова:
Есть файл в формате UTF8. Нужно его перекодировать в ASCII и сохранить.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2014, 21:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перекодировать текст с UTF-8 в ASCII (C++):

Конвертация из ASCII в UTF-32 или UTF-8 в UTF-32 - C++
Собсно сабж.

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

масив Char (Windows-1251, ASCII, UTF-8) - C++
Перехожу с мелкомяхких на linux (с Delphi на С++), так как все мои программы занимаются обработкой строк то решил сначала разобраться со...

Считать текст из файла с кодировкой utf-16 LE - C++
Возникла кое-какая проблема. У меня имеется xml файл, в кодировке UTF-16 LE с определенным содержимым. На данный момент мне нужно получить...

Перевести текст в кодировку ASCII - C++
перевести текст"Daria" в код ASCII

Кодировать текст в ASCII набор символов - C++
Нужно написать программу которая обрабатывает строки символов Программа должна считывать целое положительное число «к» которая следует за...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
true_bugmaker
28 / 5 / 1
Регистрация: 18.11.2014
Сообщений: 68
18.11.2014, 22:04 #2
man -a iconv
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
18.11.2014, 22:10 #3
http://msdn.microsoft.com/en-us/library/dd374130.aspx
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
18.11.2014, 22:19 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <codecvt>
#include <windows.h>
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <locale>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    std::locale::global(std::locale(""));
    std::locale loc (std::locale(), new std::codecvt_utf8<wchar_t, 0x10ffffUL, std::codecvt_mode::consume_header>);
    std::wifstream wifs(L"d:\\data.txt");
    wifs.imbue(loc);
 
    std::ofstream ofs("d:\\data1.txt");
    wchar_t s[100];
    char d[100];
 
    while(!wifs.eof())
    {
        wifs.getline(s, 100);
        std::wcstombs(d, s, 100);
        ofs << d << endl;
    }
 
    return 0;
}
0
Vasilijs
0 / 0 / 1
Регистрация: 20.10.2014
Сообщений: 17
18.11.2014, 23:14  [ТС] #5
а можно этот код разбить на разные функции?
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
18.11.2014, 23:20 #6
Ну разбивай. Это же пример.
0
Vasilijs
0 / 0 / 1
Регистрация: 20.10.2014
Сообщений: 17
20.11.2014, 13:48  [ТС] #7
что то не получается его откомпилировать. Много ошибок.
0
TheFox
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 438
20.11.2014, 14:15 #8
Vasilijs, у меня пример собирается.
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
20.11.2014, 14:24 #9
Что за ошибки? В какой среде работаешь?
0
true_bugmaker
28 / 5 / 1
Регистрация: 18.11.2014
Сообщений: 68
20.11.2014, 17:08 #10
У меня тоже не собирается
Код
victor@scorpion:~/devel/tmp$ gcc test.cpp -lstdc++ && ./a.out
test.cpp:1:19: фатальная ошибка: codecvt: Нет такого файла или каталога
компиляция прервана.
victor@scorpion:~/devel/tmp$
В каком он пакете интересно, этот codecvt?
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
20.11.2014, 17:09 #11
Это linux? Тогда работать не будет, там какие-то проблемы с codecvt.
0
Vasilijs
0 / 0 / 1
Регистрация: 20.10.2014
Сообщений: 17
20.11.2014, 17:11  [ТС] #12
я работаю в C++ Builder'e 6
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
20.11.2014, 17:16 #13
В древнем Builder тоже не будет. Нужна поддержка C++11.
Используй тогда функции Windows для перекодирования.
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
20.11.2014, 18:29 #14
Цитата Сообщение от DrOffset Посмотреть сообщение
Нет там проблем
Поподробнее с этого места. Вчера пробовал в Linux Debian, IDE Anjuta. Не понимает он #include <codecvt>. Что и где нужно настроить?
0
DrOffset
7150 / 4291 / 967
Регистрация: 30.01.2014
Сообщений: 7,093
20.11.2014, 18:37 #15
Цитата Сообщение от nmcf Посмотреть сообщение
Поподробнее с этого места.
Проблемы были, ты прав.
Но у меня стоит gcc 4.10 (сборка из репозитория), и я это не учел при написании ответа. Извиняюсь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2014, 18:37
Привет! Вот еще темы с ответами:

Рисование ASCII кодами и русский текст в консоли - C++
Всем добрый вечер. И вот такой вопрос есть. Сначала печатаю в консоли текст а под ним горизонтальную линию. Только вместо линии...

Зашифровать текст, используя таблицу ASCII-кодов - C++
Помогите зашифровать данный текст, используя таблицу ASCII-кодов: Компилятор. Добавлено через 7 минут #include &lt;iostream&gt; ...

Какой самый универсальный способ считать UTF-8 текст на кириллице из файла? - C++
Считать UTF-8 текст на кириллице из файла? Нашел много способов, но все они страшные до безобразия. Также кажутся не оптимальными.

Дешифровать заданный текст, используя таблицу ASCII-кодов - C++
Помогите составить программу чтобы дешифровать данный текст, используя таблицу ASCII-кодов: 8A AE AC AF EC EE E2 A5 E0.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.11.2014, 18:37
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru