|
44 / 7 / 1
Регистрация: 05.08.2013
Сообщений: 60
|
|
Кодировка UTF808.10.2019, 09:57. Показов 4830. Ответов 44
Метки нет (Все метки)
Ребят, занят созданием чата. Кто-нибудь может подсказать, почему кодировка отдельных символов отображается знаками вопроса?
0
|
|
| 08.10.2019, 09:57 | |
|
Ответы с готовыми решениями:
44
Кодировка из dos в utf8 Как в richTextBox открыть файл с кодировкой UTF8 Кодировка UTF8 |
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 10.10.2019, 11:03 | ||
|
В 99.9999% случаев они прилетят сразу, да еще и с куском текста, но на оставшиеся 0.0001% лучше обезопаситься.
0
|
||
|
44 / 7 / 1
Регистрация: 05.08.2013
Сообщений: 60
|
|
| 10.10.2019, 13:49 [ТС] | |
|
Немного я все-таки не допонимаю.
Эти 4 байта, нужно каким-то образом (непонятно каким) прикреплять сразу к тексту и слать через один send? Или делать два send? один массив байтов отправляет, другой строки?
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||
| 10.10.2019, 13:52 | |||||||
1
|
|||||||
|
44 / 7 / 1
Регистрация: 05.08.2013
Сообщений: 60
|
||||||
| 10.10.2019, 14:28 [ТС] | ||||||
|
И тогда нужно делать два считывающих цикла. Один который байты считывает, другой сами строки?
0
|
||||||
|
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
|
||||||
| 10.10.2019, 15:13 | ||||||
|
PsiMagistr, писал в блокноте, может где ошибся, ну и получение n байт стоит вынести в метод. А вообще, было бы проще перейти на чуть более высокий уровень абстракции и читать/писать байты используя TcpClient + BinaryReader/BinaryWriter.
0
|
||||||
|
44 / 7 / 1
Регистрация: 05.08.2013
Сообщений: 60
|
|
| 10.10.2019, 21:19 [ТС] | |
|
Спасибо большое. Буду пытаться
Добавлено через 5 часов 5 минут Lexeq, кастати, а два цикла приемника будут работать? Если мы например принимаем первый send, а в это время уже второй идет. Или там какая то очередь?
0
|
|
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|
| 10.10.2019, 21:32 | |
|
PsiMagistr, насколько я понимаю обертка соккетов идет поверх нативных. поэтому прием и отправка сообщений происходит самостоятельно с каким то буффером. Если это не так, то тогда каждый метод ресив вернет все что было отправлено на удаленом хосте и именно в том порядке в котором было отправлено. И если какой то затуп произойдет по приему данных то соккет на удаленном хосте отвалится по таймауту приема данных.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 10.10.2019, 22:37 | ||
|
1
|
||
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|
| 10.10.2019, 22:50 | |
|
kolorotur, Можете пояснить как в таком случае склеивать пакеты udp, помимо размера еще передавать номер пакета??
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 10.10.2019, 22:55 | |
|
Andreyip, да, как вариант.
UDP, как правило, используется там, где потери допустимы и получение 105-го пакета после 118-го не страшно - его можно выбросить
1
|
|
|
44 / 7 / 1
Регистрация: 05.08.2013
Сообщений: 60
|
||||||||||||||||
| 13.10.2019, 11:59 [ТС] | ||||||||||||||||
|
Друзья, пытаюсь разобраться в одной вещи:
Клиент передает:
Intовый Битоприемник размерности сообщений в клиенте (подсказан уважаемым товарищем Lexeq за что огромное спасибо:
Так вот при отправке сообщения "<setname>Павел" в length выдаю его длину выходит 18 байтов В то время как конвертеры на сайтах выдают длину 19 байт и сам шарповский BitConverter тоже, если просто декодировать:
Но в чате нет потерь данных! Все строки отображаются совершенно нормально, даже при объемных сообщениях. Длины же их варьируются и отличаются от длин, выдаваемых стандарт-конвертерами. Всем всем большое спасибо заранее. И товарищу kolorotur тоже Добавлено через 14 минут Например при такой фразе: "Павел пишет: Привет" У меня длина 37 байт. Стандартный декодировщик выдает 36.
0
|
||||||||||||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 13.10.2019, 12:38 | ||
|
PsiMagistr, покажите полный код передачи и приема сообщений.
0
|
||
|
44 / 7 / 1
Регистрация: 05.08.2013
Сообщений: 60
|
|
| 13.10.2019, 12:43 [ТС] | |
|
Так вроде не в байты, а в число.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||
| 13.10.2019, 12:44 | |||||||
|
Добавлено через 20 секунд Я, если что, вот про этот кусок кода:
1
|
|||||||
|
44 / 7 / 1
Регистрация: 05.08.2013
Сообщений: 60
|
|||||||||||||||||||||
| 13.10.2019, 13:18 [ТС] | |||||||||||||||||||||
|
Прием с клиента
Поправлю, спасибо.
0
|
|||||||||||||||||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 13.10.2019, 13:28 | |
|
PsiMagistr, не вижу причин, по которым отсылающий и принимающий код получали бы разное количество байт.
Правда, прием сообщения у вас все еще неправильно реализован — его надо так же в цикле получать, как это делалось с количеством байт.
0
|
|
|
44 / 7 / 1
Регистрация: 05.08.2013
Сообщений: 60
|
||||||
| 13.10.2019, 13:47 [ТС] | ||||||
|
Так он в цикле
Визуально потерь данных не происходит... Кракозябр нет. Добавлено через 1 минуту "<setname>Павел" Например вот эта строчка выдает 18 байт. А вроде как должно быть 19.
0
|
||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 13.10.2019, 14:18 | |||
|
Товарищ Lexeq на предыдущей странице показал как.
0
|
|||
|
44 / 7 / 1
Регистрация: 05.08.2013
Сообщений: 60
|
|
| 13.10.2019, 14:46 [ТС] | |
|
kolorotur, Скажите пожалуйста, а перевод строки возврат каретки чему равен байтах UTF8? Два байта?
Я кажется разобрался в причинах феномена.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 13.10.2019, 14:49 | ||
|
Если \r\n, то два байта, если \n, то один.
0
|
||
| 13.10.2019, 14:49 | |
|
NetworkStream UTF8 Преобразовать Multibyte в UTF8 Как юникод в utf8 перевести? Десятичное представление символа UTF8 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|