• 大小: 0.07M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-02-21
  • 语言: C/C++
  • 标签: STM32  STM8  

资源简介

base64 算法实现例子

资源截图

代码片段和文件信息

#include 	// size_t
#include  // fopen()
#include  // strlen()
#include 
#include “../include/libbase64.h“

#define BUFSIZE 1024 * 1024

static char buf[BUFSIZE];
static char out[(BUFSIZE * 5) / 3]; // Technically 4/3 of input but take some margin
size_t nread;
size_t nout;

static int
enc (FILE *fp)
{
int ret = 1;
struct base64_state state;

base64_stream_encode_init(&state 0);

while ((nread = fread(buf 1 BUFSIZE fp)) > 0) {
base64_stream_encode(&state buf nread out &nout);
if (nout) {
fwrite(out nout 1 stdout);
}
if (feof(fp)) {
break;
}
}
if (ferror(fp)) {
fprintf(stderr “read error\n“);
ret = 0;
goto out;
}
base64_stream_encode_final(&state out &nout);

if (nout) {
fwrite(out nout 1 stdout);
}
out: fclose(fp);
fclose(stdout);
return ret;
}

static int
dec (FILE *fp)
{
int ret = 1;
struct base64_state state;

base64_stream_decode_init(&state 0);

while ((nread = fread(buf 1 BUFSIZE 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-09-13 21:24  base64-master\
     文件          80  2017-09-13 21:24  base64-master\.gitignore
     文件         149  2017-09-13 21:24  base64-master\.travis.yml
     文件        1421  2017-09-13 21:24  base64-master\LICENSE
     文件        2764  2017-09-13 21:24  base64-master\Makefile
     文件       18734  2017-09-13 21:24  base64-master\README.md
     文件       21514  2017-09-13 21:24  base64-master\base64-benchmarks.png
     目录           0  2017-09-13 21:24  base64-master\bin\
     文件        2311  2017-09-13 21:24  base64-master\bin\base64.c
     目录           0  2017-09-13 21:24  base64-master\include\
     文件        3786  2017-09-13 21:24  base64-master\include\libbase64.h
     目录           0  2017-09-13 21:24  base64-master\lib\
     目录           0  2017-09-13 21:24  base64-master\lib\arch\
     目录           0  2017-09-13 21:24  base64-master\lib\arch\avx\
     文件         676  2017-09-13 21:24  base64-master\lib\arch\avx\codec.c
     目录           0  2017-09-13 21:24  base64-master\lib\arch\avx2\
     文件        5984  2017-09-13 21:24  base64-master\lib\arch\avx2\codec.c
     文件        2027  2017-09-13 21:24  base64-master\lib\arch\avx2\dec_loop.c
     文件         884  2017-09-13 21:24  base64-master\lib\arch\avx2\enc_loop.c
     目录           0  2017-09-13 21:24  base64-master\lib\arch\generic\
     目录           0  2017-09-13 21:24  base64-master\lib\arch\generic\32\
     文件        1122  2017-09-13 21:24  base64-master\lib\arch\generic\32\dec_loop.c
     文件         870  2017-09-13 21:24  base64-master\lib\arch\generic\32\enc_loop.c
     目录           0  2017-09-13 21:24  base64-master\lib\arch\generic\64\
     文件        1054  2017-09-13 21:24  base64-master\lib\arch\generic\64\enc_loop.c
     文件         455  2017-09-13 21:24  base64-master\lib\arch\generic\codec.c
     文件         766  2017-09-13 21:24  base64-master\lib\arch\generic\dec_head.c
     文件        1762  2017-09-13 21:24  base64-master\lib\arch\generic\dec_tail.c
     文件         561  2017-09-13 21:24  base64-master\lib\arch\generic\enc_head.c
     文件         623  2017-09-13 21:24  base64-master\lib\arch\generic\enc_tail.c
     目录           0  2017-09-13 21:24  base64-master\lib\arch\neon32\
............此处省略37个文件信息

评论

共有 条评论