ansistring не помог.
гдето на форумах увидел мисагу типа
Код:
В idUDP, если не ошибаюсь, по дефолту используется TEncoding.ASCII и с ним как раз все русские символы приходят в виде $3F, причем "бьются" они в момент преобразования к массиву байт. А если отправлять вот так:
IdUDPClient.Send('Проверка Test', TEncoding.UTF8);
то нормально:)
но у Сэнда нету такого параметра как Tencoding...
Но я упрямый и
методом про6 и оши6ок выяснил что idUDPClient.send отправляет текст непонятно какой кодировкой ( по идее должен 6ыть юникод..) и не понятно как. По этому отсылаемый текст я сначало конвертировал в байты ( bytesof()) а потом отослал его через idUDPClient.SentBuffer() и вуа-ля все канает .)
код клиента
Код:
procedure TForm4.Button2Click(Sender: TObject);
begin
idUDPClient1.SendBuffer(bytesof(nick+'^ '+edit1.Text));
edit1.Clear;
end;
код сервера
Код:
procedure TForm4.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: TBytes; ABinding: TIdSocketHandle);
begin
memo1.Lines.Add (stringof(aData));
end;
но если кто знает как это все о6ойти и сделать проще, или как использовать TEncoding, прось6а отписать .))