Ⅰ base64编码是什么意思啊
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
Ⅱ C 中怎么将2进制字符串进行Base64编码
在 ATLENC.H 里有一个库函数:
BOOL Base64Encode(
_In_reads_(nSrcLen) const BYTE *pbSrcData,
_In_ int nSrcLen,
_When_(*pnDestLen > 0, _Out_writes_to_(*pnDestLen, *pnDestLen)) LPSTR szDest,
_Inout_ int *pnDestLen,
_In_ DWORD dwFlags = ATL_BASE64_FLAG_NONE)
用法:
input: buf(byte), buflen, out StringA, outLen, 转换模式.
Base64Encode(buf,buflen,strA.GetBuffer(outlen),&outlen, ATL_BASE64_FLAG_NONE))
Ⅲ VC++问题,怎么对一个音频文件进行base64编码最好给一个函数
BASE64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本。完整的BASE64定义可见 RFC1421和 RFC2045。编码后的数据比原始数据略长,为原来的4/3。在电子邮件中,根据RFC822规定,每76个字符,还需要加上一个回车换行。
转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。数据不足3byte的话,于缓冲区中剩下的Bit用0补足。然后,每次取出6个bit,按照其值选择+/中的字符作为编码后的输出。不断进行,直到全部输入数据转换完成。如果最后剩下两个输入数据,在编码结果后加1个“=”;如果最后剩下一个输入数据,编码结果后加2个“=”;如果没有剩下任何数据,就什么都不要加,这样才可以保证资料还原的正确性。
Ⅳ 高分求解:c语言的一个简单问题
.NET 里面有这样的解码的,自己找个书好好看下就知道了.结帖吧
Ⅳ C语言编程:编写一个函数base64加密
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
constchar*chlist="+/";
intencode_string(char*str,unsignedintlength,char*stat){
chars[103];
inti,j;
unsignedtemp;
if(length<=0)return1;
if(length>100)return2;
str[length]='