Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/41: Рейтинг темы: голосов - 41, средняя оценка - 4.85
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1

Кодировка текста

12.08.2013, 17:36. Показов 8537. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, ребята подскажите - мне нужно написать ПО с помощью которого можно будет конвертировать текстовые файлы с любой кодировки в utf8 , как проще это реализовать?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.08.2013, 17:36
Ответы с готовыми решениями:

Кодировка текста перестановкой столбцов в массиве, составленном из слов текста
Нужно заполнить двумерный массив с поля (Edit) после некоторых операций вывести массив в поле. Вопрос как заполнить массив с...

Кодировка системы и вывод русского текста
Добрый вечер. У меня стоит полностью английская версия windows и возникли проблемы с выводом русского текста. ...

IdPOP3. Проверка почты на mail.ru. Неверная кодировка текста.
Пишу код: //--------------------------------------------------------------------------- void __fastcall TForm2::Button2Click(TObject...

35
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.08.2013, 18:02
Цитата Сообщение от Ddv122 Посмотреть сообщение
с любой кодировки
С любой это с какой ?
Если с виндовс кодировки в UTF8 то можно стандартными средствами Builder c помощь TEncoder
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
12.08.2013, 19:08  [ТС]
Avazart, наверное с 1251
TEncoder в 6 BCB нет ...Только
C++
1
MultiByteToWideChar
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.08.2013, 20:33
Ну а UTF8String ?

Добавлено через 48 секунд
На крайний случай можно использовать iconv https://www.cyberforum.ru/blog... og533.html
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
12.08.2013, 23:06  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
UTF8String
к сожалению в BCB6 не нашёл...
Жаль...да и к то муже Memo с UTF8 не дружит...крякозябры одни идут...
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.08.2013, 23:26
Еще одна причина переходить на новые версии ...
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
13.08.2013, 02:38
Цитата Сообщение от Avazart Посмотреть сообщение
Еще одна причина переходить на новые версии ...
- не факт: Отображение Unicode в Memo. С++ Билдер 6.
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
07.09.2013, 20:13  [ТС]
К сожалению не чего не вышло, а возможности перейти на RAD нет , может есть у кого ещё идеи?
Нужно научить читать UTF8 без BOM и сохранять
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.09.2013, 20:17
Цитата Сообщение от Avazart Посмотреть сообщение
На крайний случай можно использовать iconv https://www.cyberforum.ru/blog... og533.html
Это пробовал ?
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
08.09.2013, 12:16  [ТС]
Avazart, Попробовал
В UTF8 работает, а вот с UTF8 в 1251 не вышло
Но это не решает мою проблему, я не смог сохранить результат в UTF8
Решил попробовать RAD XE 4 upd1
Файл загружается через Drag и Drop . Входит с начала нужно переводить с UTF8 в 1251, а при сохранении обратно в UTF8?
Миниатюры
Кодировка текста  
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
09.09.2013, 12:50
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static std::string xcode(LPCSTR src, UINT srcCodePage, UINT dstCodePage)
{
    int wsize = MultiByteToWideChar(srcCodePage, 0, src, -1, 0, 0);
    LPWSTR wbuf = (LPWSTR)new char[wsize * sizeof(WCHAR)];
    MultiByteToWideChar(srcCodePage, 0, src, -1, wbuf, wsize);
    int size = WideCharToMultiByte(dstCodePage, 0, wbuf, -1, 0, 0, 0, 0);
    LPSTR buf = (LPSTR)new char[size * sizeof(CHAR)];
    WideCharToMultiByte(dstCodePage, 0, wbuf, -1, buf, size, 0, 0);
    delete [] wbuf;
    std::string res = buf;
    delete [] buf;
    return res;
}
 
...
std::string s = xcode(s.c_str(), CP_UTF8, CP_ACP);
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
09.09.2013, 18:04
Ddv122, есть такая прожка iconv (Для Linux родная, но есть и под виндой). Жрет сотни две кодировок. Так я тупо вызываю ее через system...
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
09.09.2013, 19:04  [ТС]
Байт, да мы её обсуждали пару постов выше, просто не много мне не подходит , цель программы массовая обработка файлов с кодировки 1251 в UTF8 .
с BCB6 iconv дружит и исправно конвертит текст - но сохранение у меня получается странное , AKEL PAD определяет что кодировка 1251 и отоброжает кракозябры , выбираю UTF8 - всё становится ок
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
09.09.2013, 19:10
Цитата Сообщение от Ddv122 Посмотреть сообщение
но сохранение у меня получается странное
так он просто не знает что там UTF-8. у меня тоже самое - пока ему не скажешь он не читает. а как скажешь - сохранит где-то и потом даже если 1251 выведешь в файл будет показывать фигню потому что где-то хранит что там у него UTF-8 и приходится снова ему говорить выбирая открыть как 1251
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
21.10.2013, 00:12  [ТС]
Ребята всем спасибо вышло как нельзя лучше...
Все переводится и сохраняется
Но остался один нюанс осталось определить в UTF8 ли текст.
Может есть у кого идеи?
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
21.10.2013, 00:23
Цитата Сообщение от Ddv122 Посмотреть сообщение
Но остался один нюанс осталось определить в UTF8 ли текст.
Спасибо за вопрос. Это интересно. Вот у меня есть несколько файлов в UTF-8 (сам переводил), и никаких "магических чисел" в них обнаружить не удалось...
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
21.10.2013, 00:27  [ТС]
Цитата Сообщение от Ddv122 Посмотреть сообщение
определяет что кодировка 1251 и отоброжает кракозябры , выбираю UTF8 - всё становится ок
Кстати что бы этого не было
текст сохраняю через
C++
1
std::ofstream file;
и в итоге нет этой проблемы определяет сразу UTF8
0
 Аватар для Kulgar
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
21.10.2013, 11:37
Цитата Сообщение от Ddv122 Посмотреть сообщение
Но остался один нюанс осталось определить в UTF8 ли текст.
Может будет иметь смысл находить в тексте символ с кодом из области кирилицы, переводить его и сличать с символом в тексте программы?
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
21.10.2013, 12:18  [ТС]
я не так выразился, наверно проще и лучше будет определять в какой кодировке текстовый файл
а не уже загруженный текст в программу
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
10.11.2013, 20:01  [ТС]
Лучший ответ Сообщение было отмечено как решение

Решение

Кажись нашёл решение - чередование символов (заметил у UTF 8 - через символ идёт или P или С)

ТВ Центр
Р*РѕСЃСЃРёСЏ Рљ
Синергия ТВ

Возможно регуляркой можно проверить)

Надеюсь не зря читал я читал про кодировки)
Миниатюры
Кодировка текста  
6
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2013, 20:01
Помогаю со студенческими работами здесь

Неверная кодировка текста в компонентах формы при получении почты через IdPOP3
Задача состоит в том, что бы написать некое подобие почтового клиента, который только загружает письма через через POP3 - протокол и...

Изменение текста в Memo. ("кодировка")
Добрый день! Имеется проект с компонентом Memo. В мемо загружаю текст и файла с помощью OpenDialog и сохраняю с помощью SaveDialog. Вот...

Кодировка - непонятно что вместо русского текста
Работаю в программе SQLyog поставил кодировку своей базы на cp1251, в builder в элементе DBGrid в свойстве font charset установил...

Кодировка текста
Добрый день. Загружаю из текстового файла с сайта номер версии программы в Label4 и сравниваю с текущей версией в Label2. Если значение...

Кодировка текста
Здравствуйте! Можете мне помочь? Например, у меня есть текстовый файл, но я не знаю какой он кодировки. Как мне её узнать? Существуют ли...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru