二進位制資料:000001
000011
編碼後:bd
未編碼的字串:b
對應的二進位制資料:
010000
10對殘缺的二進位制進行補足:
010000
100000
000000
000000
編碼後:qg==
未編碼的字串:bd
對應的二進位制資料:
010000
100100
0100
對殘缺的二進位制進行補足:
010000
100100
010000
000000
編碼後:qkq=
如何對中文字元進行編碼
var str = 'abcd',
i,len,
result = '';
for( i = 0 , len = str.
length ; i
< len ; i++)
console.
log(result);
// 將單個字元的unicode轉換為以utf-8格式的二進位制資料
function
toutf8binary
(unicode)
}else
if( unicode >=0x000080 && unicode <=0x0007ff )
binary = '110' +
binary.substr(0,5) +
'10' +
binary.substr(5,6);
}else
if( unicode >=0x000800 && unicode <=0x00ffff );
binary = '1110' +
binary.substr(0,4) +
'10' +
binary.substr(4,6) +
'10' +
binary.substr(10,6);
}else
if( unicode >=0x010000 && unicode <=0x10ffff )
binary = '11110' +
binary.substr(0,3) +
'10' +
binary.substr(3,6) +
'10' +
binary.substr(9,6) +
'10' +
binary.substr(15,6);
}return binary;
}
var codehandler = (function
(), decode =
handleformat = ;
function
stringtobinary
(str , size , encodetype )
console.log(binary);
return binary;
}// 轉換為以utf-8格式的二進位制資料
function
toutf8binary
(unicode)
}else
if( unicode >=0x000080 && unicode <=0x0007ff )
binary = '110'+binary.substr(0,5) + '10' + binary.substr(5,6);
}else
if( unicode >=0x000800 && unicode <=0x00ffff );
binary = '1110' +
binary.substr(0,4) +
'10' +
binary.substr(4,6) +
'10' +
binary.substr(10,6);
}else
if( unicode >=0x010000 && unicode <=0x10ffff )
binary = '11110' +
binary.substr(0,3) +
'10' +
binary.substr(3,6) +
'10' +
binary.substr(9,6) +
'10' +
binary.substr(15,6);
}return binary;
}// 編碼成base64格式
function
base64parse
(binary24,flag)
}else
for( i = 0; i < 3-len ;i ++)
}return result;
}// 解析為base64格式的二進位制資料
function
codebase64
(str)
remcode = binary.substr(len-rem,rem);
if( rem > 0 )
result = result + base64parse(remcode,rem)
}return result;
}// 解碼base64格式的資料
function
decodebase64
(str),,,
],binary= '',
newstr = '';
for( i = 0 , len = str.length ; i < len ; i++)
binary = binary + curbinary;
}if( i >= len-2 && str.charat(i) == '=')
}if( t == 0 )
else
for( ; start < len ;)
else
if(flag[j].len == 11)
else
if(flag[j].len == 16)
else
if(flag[j].len == 21)
start = start + flag[j].len;
break;}}
}binary = null;
return newstr;
}return ,
decode:function
(str, type)
};})();
charset="utf-8">
codehandlertitle>
head>
base64編碼p>
id='test'
type='text'>
input>
id="testbutton">處理button>
base64解碼p>
id='test1'
type='text'>
input>
id="testbutton1">處理button>
id="showresult">
p>
src="js/codehandler.min.js">
script>
var input1 = document.getelementbyid('test'),
button1 = document.getelementbyid('testbutton'),
input2 = document.getelementbyid('test1'),
button2 = document.getelementbyid('testbutton1'),
show = document.getelementbyid('showresult');
button1.onclick = function
() button2.onclick = function
()
script>
body>
html>
base64編碼 動畫演示 Base 64 編碼
base64 是一種十分流行的編碼方式,僅僅使用 64 個字元加等號 就可以以文字的形式表示所有的二進位制資料了,因為它能夠把二進位制格式通過編碼轉換成可見字元,所有我們就可以通過的把二進位制格式比如,檔案等通過 base64 編碼然後通過文字的形式共享出去,是不是很神奇呀。把輸入的資料轉換成 二進...
Base64編碼演算法
base64要求把每三個8bit的位元組轉換為四個6bit的位元組 3 8 4 6 24 然 後把6bit再添兩位高位0,組成四個8bit的位元組,也就是說,轉換後的字串理 論上將要比原來的長1 3。轉換後,我們用乙個碼表來得到我們想要的字串 也就是最終的base64編碼 這個表是這樣的 0 a 1...
Base64編碼演算法
base64 construe aaaaaaaa bbbbbbbb cccccccc dddddddd ffffffff 3byte to 4byte is encode 00aaaaaa 00aabbbb 00bbbbcc 00cccccc 3byte newlen 4 00aaaaaa 00aa...