Транскодирование текста

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Транскодирование текста

Сообщение Tango » 07.08.2014 13:44:03

Привожу упрощённый пример.
Знаю что 1000 раз уже спрашивали.
Спрашиваю 1001-й раз потому что.... сами попробуйте. Во всём хитросплетении не пойму.

Графическое приложение на Win 7 x64. Кодовая страница не установлена.
Код: Выделить всё
uses LConvEncoding;

  S1:=#$CF#$F0#$E8#$E2#$E5#$EF2#$00;   //'Привет'
  S:=ConvertEncoding(S1, 'cp1251', 'utf16'); // то же и с utf8
  Button1.Caption:=S;


Выводит ??????. Вопрос, ПОЧЕМУ???!! Я же перекодировал! Как так?
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

Re: Транскодирование текста

Сообщение VirtUX » 07.08.2014 15:51:05

Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
  S1: string;
begin
  S1:=#$CF#$F0#$E8#$E2#$E5#$EF2#$00;   //'Привет'
  ShowMessage(CP1251ToUTF8(S1));
end;                 

Выводит Приве?
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Транскодирование текста

Сообщение hovadur » 07.08.2014 17:22:10

Код: Выделить всё
S1:=#$CF#$F0#$E8#$E2#$E5#$EF2#$00;

должно быть так
Код: Выделить всё
S1:=#$CF#$F0#$E8#$E2#$E5#$F2#$00;

и utf8, а не utf16
hovadur
постоялец
 
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

Re: Транскодирование текста

Сообщение Tango » 07.08.2014 17:57:07

Не заметил буквочки Е!!!
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

Re: Транскодирование текста

Сообщение VirtUX » 08.08.2014 13:04:18

не важно как там с "букафками", главное - нет проблем с перекодировкой!
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru
cron