С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/34: Рейтинг темы: голосов - 34, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 57

Перекодировать введенный текст из кодировки cp866 в win1251

28.03.2017, 15:56. Показов 7310. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как перекодировать введенный текст из кодировки cp866 в win1251? Какие функции есть?
Мои идея перевести в машинный код, а потом уже из машинного в тот, который нужен
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.03.2017, 15:56
Ответы с готовыми решениями:

Преобразовать текст из кодировки Win1251 в DOS-866
Господа программисты, Вашему вниманию предлагаю следующий код (юнит выложен полностью): unit Unit1; interface uses Windows,...

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

Как перекодировать CP1251 в CP866
Добрый день! Есть очень важный вопрос. Мной было написано приложение на Java. В итоге получил jar файл. Открыл в командной строке и...

11
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
28.03.2017, 16:13
Цитата Сообщение от vladikkkk Посмотреть сообщение
Как перекодировать введенный текст из кодировки cp866 в win1251?
vladikkkk, а зачем, если не секрет?
0
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 57
28.03.2017, 16:14  [ТС]
нужно по заданию)
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
28.03.2017, 16:19
vladikkkk, ну они 1байтовые проблем быть не должно.
0
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 57
28.03.2017, 16:20  [ТС]
в машинный код каждый символ из 1 кодировки, потом из
того кода собираем в другую кодировку?
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
28.03.2017, 16:24
vladikkkk, откройте 2 таблици и сравните, там просто нужно будет прибавить определенное число(начиная с какого-то номера).
0
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 57
28.03.2017, 16:29  [ТС]
Нужно например из 866 : Привет мир
Получить 1251 : ЏаЁўҐв ¬Ёа
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
28.03.2017, 16:35
Лучший ответ Сообщение было отмечено vladikkkk как решение

Решение

vladikkkk, ну вот допустим первая попавшаяся на глаза таблица клац
Видим, что в 866 А-п это 128-175, а в 1251 А-п это 192-239

Добавлено через 1 минуту
Получается чтобы перевести символы А-п нужно прибавить 64. Дальше по аналогии.
1
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 57
28.03.2017, 16:37  [ТС]
Т.Е нужно текст перевести в аски код прибавить 64( в данном случае) и обратно?
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
28.03.2017, 16:41
Цитата Сообщение от vladikkkk Посмотреть сообщение
Т.Е нужно текст перевести в аски код прибавить 64( в данном случае) и обратно?
Это для символов с А-п, для других смотрите таблицу.

Добавлено через 45 секунд
А если еще учесть что строки в char хранятся, будет как-то так
C
1
2
3
4
5
6
7
8
void cp866_cp1251( char *s ) {
    for (;*s!=0; ++s ) {
        if( *s>-129 && *s<-80 )
            *s += 64;
        else if( *s>-33 && *s<-16 )
            *s += 16;
    }
}
0
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 57
28.03.2017, 16:52  [ТС]
спасибо, попробую написать

Добавлено через 9 минут
а если написать текст в массив?
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
28.03.2017, 17:46
Цитата Сообщение от vladikkkk Посмотреть сообщение
а если написать текст в массив?
Ну пишите текст в массив char arr[] и потом передаете в cp866_cp1251(arr), после в массиве будет cp1251
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.03.2017, 17:46
Помогаю со студенческими работами здесь

Как перекодировать cp866 в 1251?
Всем здравствуйте. Из Com-порта прибора считываются данные. Рускоязычные тексты приходят в кодировке cp866. Вывожу принятые байты в...

Кодировки win1251-UTF8
Подскажите как осуществить сиё действие? К примеру имею $mytext='Яндекс '; //Яндекс зы извиняюсь, не там создал тему, бросьте...

Перевод из кодировки UTF-8 в CP866
Нужно сделать функцию, которая переводит текст из кодировки UTF-8 в CP866. То есть с нуля, так-как нельзя использовать стандартные функции....

Кодировки в консольном приложении CP866
Добрый день. Принимаю данные с МК через COM порт. Но вместо русского текста получаю ?????? ??? ???? и т.д. МК шлёт данные в...

Перевод кодировки в Win1251/UTF8
Вместо русского &quot;Яндекс&quot; пишутся такие кракозябры &quot;Яндекс&quot; как поменять кодировку, чтобы увидеть исходное значение??? ЗЫ вроде...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru