Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2014, 07:41   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию Преобразование кодировок

Здравствуйте
необходимо преобразовать кодировку с utf-8 в cp1251
подскажите функцию.
Спасибо
Lokos вне форума Ответить с цитированием
Старый 14.10.2014, 07:58   #2
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

UTF8ToAnsi
или
Код:
Utf2WinTable : array [0..65, 0..1] of string = (
  (#208#144,#192), (#208#145,#193), (#208#146,#194),
  (#208#147,#195), (#208#148,#196), (#208#149,#197),
  (#208#129,#168), (#208#150,#198), (#208#151,#199),
  (#208#152,#200), (#208#153,#201), (#208#154,#202),
  (#208#155,#203), (#208#156,#204), (#208#157,#205),
  (#208#158,#206), (#208#159,#207), (#208#160,#208),
  (#208#161,#209), (#208#162,#210), (#208#163,#211),
  (#208#164,#212), (#208#165,#213), (#208#166,#214),
  (#208#167,#215), (#208#168,#216), (#208#169,#217),
  (#208#170,#218), (#208#171,#219), (#208#172,#220),
  (#208#173,#221), (#208#174,#222), (#208#175,#223),
  (#208#176,#224), (#208#177,#225), (#208#178,#226),
  (#208#179,#227), (#208#180,#228), (#208#181,#229),
  (#209#145,#184), (#208#182,#230), (#208#183,#231),
  (#208#184,#232), (#208#185,#233), (#208#186,#234),
  (#208#187,#235), (#208#188,#236), (#208#189,#237),
  (#208#190,#238), (#208#191,#239), (#209#128,#240),
  (#209#129,#241), (#209#130,#242), (#209#131,#243),
  (#209#132,#244), (#209#133,#245), (#209#134,#246),
  (#209#135,#247), (#209#136,#248), (#209#137,#249),
  (#209#138,#250), (#209#139,#251), (#209#140,#252),
  (#209#141,#253), (#209#142,#254), (#209#143,#255) );

function Utf8ToWin(s : string) : string;
var i : integer;
  res  :string;
begin
  res:=s;
  for I := 0 to 65 do
    if pos(Utf2WinTable[i,0],res)>0
      then res := StringReplace(res, Utf2WinTable[i,0], Utf2WinTable[i,1], [rfReplaceAll]);

  Result:=res;
end;
Shouldercannon вне форума Ответить с цитированием
Старый 14.10.2014, 21:45   #3
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Какая версия Delphi?
Код:
type
  CP1251String = type AnsiString(1251);

var
  U: UnicodeString;
  A: CP1251String;
begin
  U := 'Я твой дом труба шаталЪ';
  A := U; // преобразовывает автоматически в 1251
end;
А выше -- быдлокод.
Vapaamies вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема кодировок Anarios JavaScript, Ajax 2 25.12.2011 11:06
Порекомендуйте свободный IDE с поддержкой DOS-кодировок... Роман К. Qt и кроссплатформенное программирование С/С++ 7 17.12.2010 22:11
Таблица кодировок Shouldercannon Общие вопросы Delphi 2 10.01.2010 15:19
Проблема кодировок!!! chekanoff Общие вопросы Delphi 4 04.12.2007 00:03
Смена кодировок в тексте r-sol Общие вопросы Delphi 3 06.04.2007 11:55