NeoSpy

Как конвертировать многобайтную строку String в WideString

Как конвертировать многобайтную строку String в WideString

Сообщение Op6uT 31 окт 2008, 19:00

на входе у нас обычная строка, но с символами из анси-кодировки, которая выглядит примерно так:
31 00 32 00 33 03 33 03 ... (hex)
нам нужно преобразовать это в WideString чтобы получилось что-то вроде:
1 2 3 ...

Код: Выделить всё
function MultiByteStringToWideString(MBs:string):WideString;
var i:integer;
begin
Result:='';
SetLength(Result, 0);
i:=1;
while i<length(MBs) do
begin
Result:=Result+WideChar(ord(MBs[i])+ord(MBs[i+1])*256);  // добавляем к wide-строке двухбайтный символ, который получаем из двух байт обычной строки
i:=i+2;
end;
end;


готово 8-)
Op6uT
 


Re: Как конвертировать многобайтную строку String в WideString

Сообщение Fidosoret 18 сен 2017, 21:51

I know what you guys think and tell others is very helpful.


Последний раз поднималось Anonymous 18 сен 2017, 21:51.
Fidosoret
 
Сообщений: 2
Зарегистрирован: 25 авг 2017, 06:33


Вернуться в Delphi

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron