![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 08.10.2007
Сообщений: 125
|
![]()
Здравствуйте, подскажите пожайлуста как закодировать бинарный файл в base64?
|
![]() |
![]() |
![]() |
#2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Вот для строк. Но думаю перевести из String в Pointer не составит труда...
Хотя даже зачем вообще переводить...прочитали в PChar ваш бинарник и пихнули в эти процедуры )) вот и все Код:
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
Глянь тут http://www.swissdelphicenter.ch/en/showcode.php?id=1524
ДОБАВЛЕНО BOBAH13, долго не обновлял страницу, приношу извинения. Последний раз редактировалось eoln; 29.08.2008 в 00:19. |
![]() |
![]() |
![]() |
#4 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 08.10.2007
Сообщений: 125
|
![]()
Для строк всё работает нормально, но если файл содержит бинарные символы ничего не получается. Допустим если файл весит 2 метра и мы его кодируем его, то на выходе получается 100 байт. Надо какую то использовать функцию , на вход которой мы подаём данные не в виде строки. Я нашёл в стандартных компонентах компонент IdEncoderMIME:
IdEncoderMIME1.Encode(Tstream,integ er):string; только использовать его не получается |
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 08.10.2007
Сообщений: 125
|
![]() Цитата:
var p: PChar; s:string; begin GetMem(p, 255); with TFileStream.create('D:\temp\1\1', fmOpenReadWrite) do try Seek(10, soFromBeginning); read(p^, 254); finally free; end; FreeMem(p); end; файл 1 весит > 2 метров , а в Pchar записывается только три символа? |
|
![]() |
![]() |
![]() |
#7 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Ооо.. ну вам еще учиться и учиться
![]() ![]() И что же в вашем понятии "бинарные" символы )) а они бывают и не бинарными ? ![]() Код:
|
![]() |
![]() |
![]() |
#8 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
да расслабьтесь, пацаны. ничего у вас с PChar не получится.... :-)
из хелпа на PChar Цитата:
Цитата:
рекомендую заменить на обычный статический Array: Код:
|
||
![]() |
![]() |
![]() |
#9 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Классно пошутили
![]() ![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
BOBAH13, умничаем, да?? :-))))
в том то и дело, что если бы вместо PChar был Pointer - то всё было бы отлично! но это немножечко разные вещи. я же привёл цитату из хелпа про PChar! не согласны? ну тогда ответьте на два простых вопроса: 1) почему не работал код из поста #6 2) что будет после выполнения кода Код:
и последнее. BOBAH13, я вижу,читаю Ваши посты. Поэтому НИ МАЛЕЙШЕГО сомнения в Вашей компетентности у меня нет. Просто, думаю, тут наложилось знание многих языков и внутренностей ОС... многия знания - многия печали :-) |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
base64 | BlackOmen | Общие вопросы Delphi | 2 | 02.05.2008 16:30 |