|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.05.2018, 07:31 | #1 |
Пользователь
Регистрация: 25.04.2018
Сообщений: 45
|
Изменение кодировки текстового файла
Добрый день. Подскажите алгоритм изменения кодировки текстового файла: какие Win32 API функции для этого надо использовать и в какой последовательности.
Например, есть текстовый файл в кодировке ANSI, нужно, чтобы этот файл стал в кодировке UTF-8. |
31.05.2018, 07:40 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
CreateFile
ReadFile MultiByteToWideChar WideCharToMultiByte WriteFile CloseFile |
31.05.2018, 07:44 | #3 |
Пользователь
Регистрация: 25.04.2018
Сообщений: 45
|
waleri, спасибо
PS. Репутацию не получается увеличить, появляется сообщение, что надо кому-то ещё увеличить репутацию. |
31.05.2018, 22:46 | #4 |
Пользователь
Регистрация: 25.04.2018
Сообщений: 45
|
Функция ReadFile возвращает массив байтов.
Массив байтов ведь нельзя подставить в функцию MultiByteToWideChar? Значит нужно преобразовать массив байтов в текст, а затем текст передать в MultiByteToWideChar? А с помощью какой Win32 API функции можно преобразовать массив байтов в текст? |
31.05.2018, 23:53 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
|
01.06.2018, 17:10 | #6 |
Пользователь
Регистрация: 25.04.2018
Сообщений: 45
|
Признак кодировки я должен буду сам писать в коде? например для юникода в начале данных нужно записать два символа (или два кода - не разбираюсь в этом): &HFF, &HFE?
|
01.06.2018, 17:45 | #7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,707
|
Как хотите и как вам надо.
Не обязательно. И лучше разберитесь зачем эти два байта нужны там и в каком из УТФ они именно такие. |
01.06.2018, 17:53 | #8 |
Пользователь
Регистрация: 25.04.2018
Сообщений: 45
|
p51x, достаточно получить utf-текст с помощью "WideCharToMultiByte", записать его в текстовый файл с помощью "WriteFile" и после этого, если открыть этот текстовый файл в программе "Блокнот", программа "Блокнот" покажет, что у файла кодировка UTF-8?
PS. Не получается увеличить вам репутацию, появляется сообщение, что я должен увеличить репутацию ещё кому-то. |
01.06.2018, 17:58 | #9 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,707
|
1. у блокнота плохова-то с утф, кроме утф-16
2. если сохранить файл в утф-16 и открыть в блокноте, то да он откроется и правильно прочитается |
01.06.2018, 18:03 | #10 |
Пользователь
Регистрация: 25.04.2018
Сообщений: 45
|
Я вот здесь смотрю в блокноте: открываю файл - далее "Файл" - Сохранить как - появляется диалоговое окно - читаю кодировку в списке "Кодировка".
Просто я пока плохо ориентируюсь в api-функциях и возможно где-то делаю ошибки, поэтому пока не могу проверить код. У меня не получается, чтобы в этом списке появился UTF-8 или Юникод (я пробовал сделать в двух кодировках). |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Импорт текстового файла в БД, смена кодировки | Emmelman | Microsoft Office Access | 6 | 22.01.2013 17:52 |
определение кодировки текстового файла+вопрос | s500 | Общие вопросы Delphi | 7 | 10.04.2012 20:59 |
Изменение имени текстового файла | Fidarov | Помощь студентам | 2 | 10.02.2012 15:33 |
Определение кодировки текстового файла | Sobaka_ru | Помощь студентам | 3 | 23.01.2012 09:41 |
Изменение кодировки файла. | goodwen | C# (си шарп) | 4 | 15.12.2011 19:12 |