C BYTE base64
时间: 2023-11-16 15:07:35 浏览: 34
C语言中的base64编码可以通过使用base64库来实现。该库提供了一些函数,如base64_encode()和base64_decode(),可以将二进制数据编码为base64字符串,或将base64字符串解码为二进制数据。
使用该库,需要先包含头文件#include <openssl/bio.h>,并链接libcrypto库。
以下是一个使用base64编码的示例代码:
```
#include <openssl/bio.h>
#include <openssl/evp.h>
int base64_encode(const unsigned char *in, int in_len, char *out)
{
BIO *b64 = BIO_new(BIO_f_base64());
BIO *bio = BIO_new(BIO_s_mem());
bio = BIO_push(b64, bio);
BIO_set_flags(bio, BIO_FLAGS_BASE64_NO_NL);
BIO_write(bio, in, in_len);
BIO_flush(bio);
int len = BIO_get_mem_data(bio, &out);
BIO_free_all(bio);
return len;
}
int main()
{
unsigned char data[] = "Hello, world!";
char encoded[100];
int len = base64_encode(data, sizeof(data)-1, encoded);
printf("Encoded: %s\n", encoded);
return 0;
}
```