Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.06.09;
Скачать: CL | DM;

Вниз

MultiByteToWideChar или другой способ перевести UTF16 LE в ANSI   Найти похожие ветки 

 
NapalmRain   (2012-11-09 11:15) [0]

Доброго всем времени суток. Мне необходимо привести строку такого вида
http://s2.ipicture.ru/uploads/20121109/BWZuvTLM.jpg
Во что-то наиболее похожее на текст. В теории эта строка в UTF 16 Le, везде советуют использовать multibytetowidechar но нигде не смог найти примеры этой функции. Или может быть есть другой способ? Прошу подсазки


 
DVM ©   (2012-11-09 11:51) [1]


>  но нигде не смог найти примеры этой функции

как  то так, с поправкой на твою задачу разумеется:


function AnsiStringToWideString(const Src: AnsiString; CodePage: Word = 0): WideString;
var
 Len: Integer;
begin
 if CodePage = 0 then
   CodePage := GetACP;
 if Src = "" then
   Result := ""
 else
   begin
     Len := MultiByteToWideChar(CodePage, 0, PAnsiChar(Src), Length(Src), nil, 0);
     if Len = 0 then
       RaiseLastOSError;
     SetLength(Result, Len);
     Len := MultiByteToWideChar(CodePage, 0, PAnsiChar(Src), Length(Src),
       PWideChar(Result), Length(Result));
     if Len = 0 then
       RaiseLastOSError;
   end;
end;



> Или может быть есть другой способ? Прошу подсазки

В новых версиях Delphi >=2009 есть класс TEncoding им можно. Для более старых версий Delphi есть аналог TEncoding тут:
http://www.gunsmoker.ru/2010/04/delphi-2009.html


 
DVM ©   (2012-11-09 12:23) [2]

И да, кстати, именно в Ansi как написано в вопросе перевести правильно получится только если в системе текущая кодовая страница подходящая.
В WideString получится всегда.



Страницы: 1 вся ветка

Текущий архив: 2013.06.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.006 c
2-1352205351
NieL
2012-11-06 16:35
2013.06.09
транзакции


9-1194720876
Extracter
2007-11-10 21:54
2013.06.09
Не работают glDrawArrays и glDrawElements- не найдены


15-1359636718
Студент
2013-01-31 16:51
2013.06.09
Порекомендуйте книжки.


15-1359009539
O'ShinW
2013-01-24 10:38
2013.06.09
Почему в снайперских винтовках обычно маленький магазин?


15-1359634342
Дельфист
2013-01-31 16:12
2013.06.09
Источник бесперебойного питания