Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
11 / 9 / 3
Регистрация: 06.04.2015
Сообщений: 36

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

30.07.2015, 19:00. Показов 3289. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Подскажите пожалуйста,как изменить кодировку для текста в char.

Суть в том что по TCP нужно передать тестовое сообщение char в кодировке KOIR-8.

В Qt 4.x было такое как:

C++ (Qt)
1
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("KOIR-8"));
сейчас в Qt 5.x этого нету,пробовал по разному изменить кодировку но толку не особо.

C++ (Qt)
1
2
3
4
5
6
7
8
QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
QByteArray arr;
char text[17];
strncpy(text,"ПРИБОР 1- ПРОШЕЛ",16);
arr = codec->fromUnicode(text);
strncpy(text,arr1.data(),16);
 
sock_service->write(text);
на другой стороне приходили кракозябры всякие.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.07.2015, 19:00
Ответы с готовыми решениями:

Кодировка char*
Всем привет. Пишу класс для ведения 2канального лога. От клиента получаю UTF8 строку и необходимо её привести к однобайтовой кодировке. В...

Различное поведение функции которая копирует строки с char* t и char t[]
столкнулся с ситуацией которую не могу объяснить пишем функцию которая копирует одну строку в другую: void strstr(char* t,...

Строки: почему компилятор пишет , что переменная типа char несовместима с const char?
char pass; int password( int d) { int m; char p; cout << "Введите пароль для доступа к информации:"; cin >> p; ...

2
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
30.07.2015, 21:35
Цитата Сообщение от maz85 Посмотреть сообщение
strncpy(text,"ПРИБОР 1- ПРОШЕЛ",16);
ССЗБ. Исходники должны быть только латиницей.

Цитата Сообщение от maz85 Посмотреть сообщение
В Qt 4.x было такое как:
QTextCodec::setCodecForCStrings(QTextCod ec::codecForName("KOIR-8"));
Сломает всю прогу.

Цитата Сообщение от maz85 Посмотреть сообщение
strncpy
Не нужно использовать С в С++.

Как минимум:
C++ (Qt)
1
2
QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
QByteArray arr = codec->fromUnicode("ПРИБОР 1- ПРОШЕЛ");
0
11 / 9 / 3
Регистрация: 06.04.2015
Сообщений: 36
31.07.2015, 14:02  [ТС]
заработало,сделал так:

В клиенте менял кодировку
C++ (Qt)
1
2
3
4
 QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
 QByteArray arr = codec->fromUnicode("Прибор 1 прошел");
 char test[arr.size()];
 qstrcpy(tt,arr.data());
На сервере
C++ (Qt)
1
2
 QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
 QString str = codec->toUnicode(text);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.07.2015, 14:02
Помогаю со студенческими работами здесь

Строка: чем отличается строки string, char, char*?
Помогите разобраться,совсем плохо идёт,чем отличается строки string,char,char* И если можно пару примеров Буду весьма признательна

Преобразование char в char* или разделить на две строки
Пытаюсь сделать программу под linux. Возникла проблема, описанная в заголовке. Мне нужно разделить строку в char на две по символу ? либо...

Кодировка на winApi. char* не совместим с LPCWSTR
проблема в том, что при написании программы выдаёт ошибку аргумент char* не совместим с LPCWSTR. Уже и юникод подключила, и пишу L перед...

Запись строки char в массив char
Глупый вопрос, но что поделать, многое забыл... Хочу записть строку типа char в массив строк типа char, но выдает ошибку что...

Преобразование строки Из AnsiString в Char, и копировие этой строки.
выходить ошибка при нажтии кнопки, хелп! void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString mystr = Edit1->Text; ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru