uuencode
Материал из Pro-Pawn Wiki
Описание:
Кодирует двоичные данные (массив байтов) в текстовую форму методом UUE. Кодирование данных в текст может пригодиться для передачи данных или сохранения данных в свойстве с помощью функции
setproperty()
.
Параметры:
(dest[], const source[], numbytes, maxlength=sizeof dest) |
dest[] | Массив для записи строки с закодированными данными. Может совпадать с массивом source , если размер позволяет вместить строку.
|
const source[] | Данные, которые будут закодированы в текст и записаны в dest .
|
numbytes | Размер кодируемых данных в байтах (не ячейках!) |
maxlength | Размер массива dest в ячейках (необязательный параметр).
|
Возвращаемое значение:
Длина строки с закодированными данными.
Примечание |
В конце строки с закодированными данными добавляется символ '\n' .
|
Функция непригодна к использованию: из-за ошибки в реализации вместо закодированных данных она возвращает пустую строку. На момент написания статьи баг исправлен только в pawn-3.2-plus.
Приведённый ниже пример кода не работает в SA-MP. |
Пример использования:
main()
{
static const data[] = { 0x00112233, 0x44556677, 0x8899AABB, 0xCCDDEEFF };
const numbytes = sizeof(data) * (cellbits / charbits);
new string[18];
new result = uuencode(string, data, numbytes);
printf("%s"); // "0,R(1`'=F542[JIF(_^[=S`"
printf("Длина строки: %d"); // "Длина строки: 26"
}
{
static const data[] = { 0x00112233, 0x44556677, 0x8899AABB, 0xCCDDEEFF };
const numbytes = sizeof(data) * (cellbits / charbits);
new string[18];
new result = uuencode(string, data, numbytes);
printf("%s"); // "0,R(1`'=F542[JIF(_^[=S`"
printf("Длина строки: %d"); // "Длина строки: 26"
}
См. также: