資源簡介
Base64編碼要求把3個8位字節(3*8=24)轉化為4個6位的字節(4*6=24),之后在6位的前面補兩個0,形成8位一個字節的形式。
例如字符串“張3” :
11010101 11000101 00110011
轉換后:
00110101 00011100 00010100 00110011
用十進制表示即為:53 34 20 51
這個并不是最終的結果,還需要根據Base64的編碼表查詢出轉換后的值。下面就是BASE64編碼表:
Table 1: The Base64 Alphabet
Value Encoding Value Encoding Value Encodi
代碼片段和文件信息
//?base64src.cpp?:?Defines?the?entry?point?for?the?console?application.
//
#include?“string.h“
#include?“base64.h“
#include?“conio.h“
#include?“stdio.h“
//?參考文章:http://www.cstc.net.cn/docs/docs.php?id=202
const?char?*pTextDemo?=?“http://www.cstc.net.cn/docs/docs.php?id=202“;
int?main(int?argc?char*?argv[])
{
// printf(“Hello?World!\n“);
int?len?=?strlen(pTextDemo);
????char?pbase64[80]?=?{0};
char?pszSrc[60]?=?{0};
//?編碼后的長度一般比原文多占1/3的存儲空間,請保證pbase64有足夠的空間
int?len_b64?=?base64Encode(pbase64?pTextDemo);
printf(“[base64]:\r\n%s\r\n\r\n“?pbase64);
int?len_src?=?base64Decode(pszSrc?pbase64);
printf(“[源文]:\r\n%s\r\n\r\n“?pszSrc);
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5297??2011-11-30?10:43??ba
?????文件????????732??2011-11-30?10:53??ba
?????目錄??????????0??2011-11-30?10:28??ba
-----------?---------??----------?-----??----
?????????????????6029????????????????????3
評論
共有 條評論