base64的C语言程序
时间: 2024-04-09 21:25:33 浏览: 137
Base64是一种用64个字符表示任意二进制数据的方法。在C语言中,可以使用以下代码实现Base64编码和解码:
```c
#include <stdio.h>
#include <string.h>
const char base64_table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
void base64_encode(const unsigned char *input, int length, char *output) {
int i, j;
for (i = 0, j = 0; i < length;) {
int a = i < length ? input[i++] : 0;
int b = i < length ? input[i++] : 0;
int c = i < length ? input[i++] : 0;
int triple = (a << 0x10) + (b << 0x08) + c;
output[j++] = base64_table[(triple >> 3 * 6) & 0x3F];
output[j++] = base64_table[(triple >> 2 * 6) & 0x3F];
output[j++] = base64_table[(triple >> 1 * 6) & 0x3F];
output[j++] = base64_table[(triple >> 0 * 6) & 0x3F];
}
int padding = length % 3;
if (padding > 0) {
output[j - 1] = '=';
if (padding == 1) {
output[j - 2] = '=';
}
}
output[j] = '\0';
}
int main() {
const char *input = "Hello, World!";
int length = strlen(input);
char output[1024];
base64_encode((const unsigned char *)input, length, output);
printf("Base64编码结果: %s
", output);
return 0;
}
```
这个程序实现了Base64编码功能。你可以将需要编码的字符串替换为其他内容进行测试。
阅读全文