前端編碼base64

2021-08-19 19:35:18 字數 4079 閱讀 3724

二進位制資料: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...