Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/56: Рейтинг темы: голосов - 56, средняя оценка - 4.79
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401

DOS-866 в Unicode (UTF-8)

31.10.2009, 23:02. Показов 10946. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Замаялся с кодировками. в файле данные в Unicode (UTF-8) у меня в консольнмо приложении в DOS-866. начинаю сливать данные из консоли и из моего файла, получается смесь дикая и половина текста не читабельна.
как привести их к одному виду? желательно к Unicode (UTF-8) или, наверняка, есть универсальный метод преобразовывания и предоставляется он языком, только я его не знаю. просветите по данному вопросу и зря тему шрифтов в консоли закрыли.
хотя я уже кучу оттуда вариантов перебрал и всё как рыба об лёд
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2009, 23:02
Ответы с готовыми решениями:

From UTF-8 to UNICODE
здравствуйте!! у меня вот какой вопрос! Как сделать преобразование UTF-8 и Unicode? во общем моя программа считывает данные с базы( база...

Unicode, UTF-8 и ANSI в одном консольном приложении. Можно ли "на лету" конвертировать массив строк?
Всем доброго дня) Подскажите такую весчь: можно ли в консольном приложении работать с несколькими кодировками? Нужно считать файлик в...

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

9
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
31.10.2009, 23:26
Глянь тут: setw + кириллица
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
01.11.2009, 07:53  [ТС]
сразу я обрадовался, когда первоначально в консоль полез русский текст. однако, L приминим только к строке, а у меня перебиратеся массив строк, но это обойти можно.
!!!Однако, при направление вывода не на консоль а в !!фаил!!, опять получю пьяный бред стенографистки.
надо что-то ещё...
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
01.11.2009, 12:10
TanT, будь добр, покажи этот участок кода. Постараюсь что-нибудь придумать.
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
01.11.2009, 13:02  [ТС]
с кодом сложно, ибо конфлик именно при записи в фаил. и весь код сводиться с банальной записи в фаил данных, которые представленные в кодировки DOS-866, а запись в фаил с данными в кодировки (UTF-8)

но если уж на то пошло то записываю, так
C++
1
    outFile<<title[i]<<endl;
где title[i] массив строк текста типа string

я поступил следующим образом, взял исходный рабочий фаил, копирнул его, перименовал, записал в него требуемые данные и в ходе работы забираю их из файла, в той самой кодировки что и всё остальные исходные данные. создаваемые мной файлы, при записи получают данные в одной кодировки и отображение (UTF-8).

собственно вопрос, как сделать перебразовать данные в кодировку UTF-8 и вести запись в фаил в этой же кодировки ?
или как преобразовать данные полученные из файла в кодировке UTF-8 в другую кодировку, скажем DOS-866
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
01.11.2009, 13:07
Посмотри на такую штуку: boost::utf8_codecvt_facet (utf8_codecvt.facet.hpp)
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
01.11.2009, 13:13
TanT, т.е. ofstream'ом ты не создаешь файл, а дописываешь в существующий, который кодирован в UTF-8?
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
15.11.2009, 13:08  [ТС]
нет создаю фаил ofstream, надо создать в UTF-8 а получаю вообще в анси. как установить кодировку создаваемого файла?
по логике фаил создаётся в той кодировке в которой начинаешь записывать в него данные. так?
как тогда установить в проекте какую кодировку использовать?

единственно что для консоли, только для UTF-8 код не знаю
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
0
11 / 11 / 1
Регистрация: 27.04.2009
Сообщений: 30
15.11.2009, 13:45
У меня похожий вопрос, мне необходимо сделать текстовик для печати. Учитывая, что у меня структура, и ascII арт сделанный под табличку, все что не в цифирном виде записывается в файл как очень нечитаемая байда, для обычных текстовых редакторов, даже notepad++. Только bred 3.0 после преобразования ним txt в dos-866 показывает что-то адекватное. Похожая преобразовалка есть в комплекте bornald с 3.1.
Подскажите пожалуйста как записать в текстовик, не dos кодировку?
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
15.11.2009, 13:50  [ТС]
тут собственно вероятно треба сменить кодировку с которой работает проект. если правильно выразился конечно.

что-то встретил про locale. однако Вижуал упорно не понимает
#include <locale.h>
std::locale::global(utf8_locale);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.11.2009, 13:50
Помогаю со студенческими работами здесь

Объясните, что означает wcout.imbue( locale( "rus_rus.866" ) ); и wcin.imbue( locale( "rus_rus.866" ) ); ?
Непонятно особенно locale( &quot;rus_rus.866&quot; ).

866=> Windows-кодировка...
Ищу функцию для перевода из DOS кодировки 866 в Windows-кодировку на Си... Может есть у кого??

code blocks и кодировка windows 866
вобщем поставил code blocks, начал осваивать, наткнулся на проблему с кодировкой, вот самый простой пример #include...

Преобразование Unicode (UTF-16) в UTF-8 и обратно
Здравствуйте. Признаюсь, снова нужна подмога профессионалов. :help: Перейду к проблеме: Есть файл my_list.dic в кодировке Unicode (а не...

866-MS-DOS to 1251-MS-Windows
&quot;Программа предназначена для перекодировки текстовых файлов из формата кодовой таблицы 866-MS-DOS в формат кодовой таблицы 1251-MS-Windows...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru