Показать сообщение отдельно
Старый 20.05.2010, 16:23   #1
LIDERSERVIS
Оператор ЭВМ
 
Регистрация: 20.10.2009
Сообщений: 49
Написано 2 полезных сообщений
(для 3 пользователей)
Кодировка / декодировка данных через сокет

Какие есть методы кодировки / розкодировки отправки данных через сокет (телефон не видит русские буквы через сокет - приходят карлюки), нужно включить аспект что могут в строчке идди как и руские так и английские буквы. пробывал через метод base64 - что то не получается . Кодую в Delphi (внизу) - забрасываю в decode_string библиотеки base64v3 - и снова получаю билиберду ?
Возможно я не так кодирую или в библиотеке не тот алгоритм розкодировки ?

function EncodeBase64(ValueString): String;
const
 
b64alphabetPChar 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
  
padPChar '====';

  function 
EncodeChunk(const ChunkString): String;
  var
    
WLongWord;
    
inByte;
  
begin
    n 
:= Length(Chunk); := 0;
    for 
:= 0 to n do
      
:= Ord(Chunk[1]) shl ((i) * 8);
    
Result := b64alphabet[(W shr 18) and $3f] +
              
b64alphabet[(W shr 12) and $3f] +
              
b64alphabet[(W shr 06) and $3f] +
              
b64alphabet[(W shr 00) and $3f];
    if 
<> 3 then
      Result 
:= Copy(Result01) + Copy(pad0n);
  
end;

begin
  Result 
:= '';
  while 
Length(Value) > do
  
begin
    Result 
:= Result EncodeChunk(Copy(Value03));
    
Delete(Value13);
  
end;
end
(Offline)
 
Ответить с цитированием