Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: Кодирование текста и бинарных файлов в Base64
Kibor
Отправлено: 04 Июня, 2020 - 05:08:36
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




функция base64code предназначена для кодирования текста и бинарных файлов в Base64.

функция декодирования base64decode - Функция декодирования base64.

Возможно 3 варианта использования.

Первый предназначен для кодирования текста заканчивающегося 0, тогда как в середине 0 нет. В виде параметра принимает string:
CODE:
base64code ("Это конвертировать в Base64");


Второй может кодировать бинарные данные, в состав которых может входить 0.
В виде первого параметра идет указатель на массив char, вторым количество байт которые надо преобразовать:
CODE:
base64code (#BYTE[0], 250);


Функция возвращает string

=========================================================

Для кодирования файлов большого размера следует применять третий вариант:

CODE:
base64code(#t[0], #c[0], u);

Первый параметр указатель на массив char в который запишутся кодированные данные.
Второй - указатель на массив char исходник.
Третий - количество байт которые надо преобразовать

Возвращает количество байт массива с результатом.
Последний элемент массива с результатом заполнится 0, если хватит размера массива.

Если размера массива приемника не хватает, вернет -1 и прервет кодировку.

Важно выделять массив с запасом, так как размер кодированных данных больше размера исходника.
 
 Top
Adomb
Отправлено: 09 Июля, 2020 - 18:15:49
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 185
Дата рег-ции: Июль 2015  
Репутация: 1




PHP
CODE:
$img = $_POST['img'];
$img = str_replace(' ', '+', $img);
$result = file_put_contents('img.jpg', base64_decode($img));


Примерный код в киборе
CODE:
if(fopen("C:\img.jpg", "rb")){u=freadb(#c[0],sizearray(c)); fclose();}
strcpy(#POSTData[0], "img="+base64code(#c[0],u));
sendgetweb(#CH[0],usag,"POST", adrs,".../immg.php", Header,#POSTData[0],size(#POSTData[0]));


Затык в размере файла больше 200кб.
base64code не справляется, я так понимаю.

BMP, какие хотелось бы отсылать на сервер без ftp - так вовсе весят от 2Мб.
Как бы реализовать..? Улыбка
 
 Top
Kibor
Отправлено: 10 Июля, 2020 - 14:25:56
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Adomb пишет:
Затык в размере файла больше 200кб.
base64code не справляется, я так понимаю.

BMP, какие хотелось бы отсылать на сервер без ftp - так вовсе весят от 2Мб.
Как бы реализовать..?



Доработал. Легко быстро обрабатывает намного большие размеры.

Для кодирования файлов большого размера следует применять третий вариант:

CODE:
base64code(#t[0], #c[0], u);

Первый параметр указатель на массив char в который запишутся кодированные данные.
Второй - указатель на массив char исходник.
Третий - количество байт которые надо преобразовать

Возвращает количество байт массива с результатом.
Последний элемент массива с результатом заполнится 0, если хватит размера массива.

Если размера массива приемника не хватает, вернет -1 и прервет кодировку.

Важно выделять массив с запасом, так как размер кодированных данных больше размера исходника.
 
 Top
Adomb
Отправлено: 10 Июля, 2020 - 19:47:10
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 185
Дата рег-ции: Июль 2015  
Репутация: 1




 Kibor пишет:
Доработал. Легко быстро обрабатывает намного большие размеры.

Kibor, это просто праздник! Улыбка Спасибо.
BMP улетает.
 
 Top
AdryV
Отправлено: 15 Мая, 2021 - 11:09:51
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016  
Репутация: 11




подскажите как Кибором декодировать?
а то мне в голову лезет только с++ и дллка с функцией
 
 Top
Zireael
Отправлено: 15 Мая, 2021 - 15:29:40
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4397
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
подскажите как Кибором декодировать?

https://docs.microsoft.com/en-us...tbinarytostringa
 
 Top
Kibor
Отправлено: 18 Февраля, 2022 - 14:59:59
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Поправил кодирование в base64 для рус символов.
Добавил функцию декодирования base64decode - Функция декодирования base64.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by