powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Embasadero + indy 10 -> передача массива байт -> как победить кодировку
6 сообщений из 6, страница 1 из 1
Embasadero + indy 10 -> передача массива байт -> как победить кодировку
    #40033073
BorodaOleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С новым буйвольским годом Вас!!!
Робяты и девчыты, как победить передачу кодировки в Indy 10 на то, чтобы ANSY передавалась у меня именно как Ansi?
Мне нужно массив байт (со значениями) [0..255] воткнуть -> передать устройству. Indy добросовестно передаёт всю строку, за исключением символов с кодом > 128 - они становятся '?'. В оригинале на "port monitor" сообщение из 15 символов вместо 12, которые нужно передать - прут 3 символа в unicode.
{$HIGHCHARUNICODE OFF} уже не помогает, так как обработка идет уже внутри компонента, и жестко привязана к нему же
И шо робiтi братки?
...
Рейтинг: 0 / 0
Embasadero + indy 10 -> передача массива байт -> как победить кодировку
    #40033076
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorodaOleg,

Код: pascal
1.
2.
3.
4.
5.
  var Buffer:TIdBytes;
  
  SetLength(Buffer, ByteCount);
  ....
  IdTCPClient.IOHandler.Write(Buffer, ByteCount);


Не?
...
Рейтинг: 0 / 0
Embasadero + indy 10 -> передача массива байт -> как победить кодировку
    #40033080
BorodaOleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,
Возможно, перегонять данные в idBuffer как то не додумался ... Возможно.. новый год [краснеет]
...
Рейтинг: 0 / 0
Embasadero + indy 10 -> передача массива байт -> как победить кодировку
    #40033094
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorodaOleg,

к слову: в массиве байт в принципе не может существовать кодировка. и передавать его лучше именно как массив байт.
...
Рейтинг: 0 / 0
Embasadero + indy 10 -> передача массива байт -> как победить кодировку
    #40033123
northener
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В любое "устройство" всегда нужно передавать байты, а не символы! Это почти аксиома.
...
Рейтинг: 0 / 0
Embasadero + indy 10 -> передача массива байт -> как победить кодировку
    #40034816
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если пихаешь строку, то ищи где-то в свойствах или параметрах метода кодировку. Наверняка там по дефолту UTF7, вот и обрубает
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Embasadero + indy 10 -> передача массива байт -> как победить кодировку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]