Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ] > Код на шару!
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.06.2014, 12:59
Dreammaster Dreammaster вне форума
Прохожий
 
Регистрация: 11.06.2014
Сообщения: 36
Версия Delphi: RAD Studio XE3
Репутация: 10
Печаль Кириллица в Base64

Доброго времени суток. С утра встала проблема: как заставить base64 кодить/декодить содержимое richedit, написанное кириллицей.
Пробовал так:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
With Richedit2 do begin
SelAttributes.Name:= 'Windows-1251';  // UTF8, ANSI 
SelAttributes.Charset:= RUSSIAN_CHARSET;
end;
     end;
Еще пробовал так: 
Richedit2.Text:= utf8toansi(IdEncoderMIME1.Encode(Richedit2.Text));
Richedit2.Text:= utf8toansi(IdDecoderMIME1.DecodeString(Richedit2.Text));
MAD: пользуётесь тегами.
Пробовал и через переменную типа a:ansistring;
Ничего не помогает. Как ни верти, на выходе, после декода вместо кириллицы, знаки вопроса. Помогите с кодом, у меня уже мозг болит от этих кодировок. ((

Последний раз редактировалось M.A.D.M.A.N., 11.06.2014 в 13:48.
Ответить с цитированием
  #2  
Старый 11.06.2014, 14:34
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Dreammaster
Ничего не помогает. Как ни верти, на выходе, после декода вместо кириллицы, знаки вопроса. Помогите с кодом, у меня уже мозг болит от этих кодировок. ((
Похоже что Indy на юникодных Delphi некорректно работает с base64.
К сообщению прикладываю исходник который нормально кодирует/декодирует base64 - проверил на Delphi XE2.
Там всего 2 функции, думаю разберёшься

p.s. Сам исходник не мой, я его взял отсюда: Процедуры кодирования и декодирования Base64, но доработал чтобы он корректно работал и на юникодных версиях Delphi.
Вложения
Тип файла: pas Base64Unit.pas (2.3 Кбайт, 78 просмотров)
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
Dreammaster (11.06.2014)
  #3  
Старый 11.06.2014, 14:43
Dreammaster Dreammaster вне форума
Прохожий
 
Регистрация: 11.06.2014
Сообщения: 36
Версия Delphi: RAD Studio XE3
Репутация: 10
По умолчанию

Благодарю! Выручили. Всё отлично работает.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:45.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter