**:
一、為什麼要用urlencoder
客戶端在進行網頁請求的時候,**中可能會包含非ascii碼形式的內容,比如中文。
將**中的非ascii碼內容轉換成可以傳輸的字元
不會被編碼的內容
1.大寫字母a-z
2.小寫字母a-z
3.數字 0-9
4.標點符 - _ . ! ~ * ' (和 ,)
二、編碼原理
1、將需要轉換的內容(ascii碼形式之外的內容),用十六進製制表示法轉換出來,並在之前加上%開頭
eg: 0x9c urlencoder --> %9c
2、內容中的空格『 』 ,全部用+代替
3、注:與hex不同,hex是將所有的字元轉換為16進製表示,而urlencoder是將ascii碼集之外的轉換為%加上相應的16進製制,而ascii碼集內的字元不進行處理
三、應用場景
1、所有的get請求
2、**中有中文等情況
3、post請求,所有的key和value在提交之前都要經過urlencoder
四、示例
try catch (unsupportedencodingexception e)執行結果:
10-17 07:33:14.357 1012-1012/com.xqx.encrypsthow i/encode﹕ a 進行urlencoder編碼後-->a
10-17 07:33:14.367 1012-1012/com.xqx.encrypsthow i/encode﹕ a中 進行urlencoder編碼後-->a%e4%b8%ad
10-17 07:33:14.377 1012-1012/com.xqx.encrypsthow i/encode﹕ a%e4%b8%ad 進行urldecoder解碼後-->a中
可以看出 字元'a' 並沒有編碼 而 中文 '中' 進行了編碼
與urlencoder編碼對應的是urldecoder解碼
可以看出 "a中"--編碼-->"a%e4%b8%ad"--解碼-->"a中"
自編碼演算法
自編碼神經網路是一種無監督學習演算法,它使用了反向傳播演算法,並讓目標值等於輸入值,它是一種盡可能復現輸入訊號的神經網路。為了實現這種復現,自動編碼器就必須捕捉可以代表輸入資料的最重要的因素,就像pca那樣,找到可以代表原資訊的主要成分。一 autoencoder演算法的思路 1 給定無標籤資料,用...
常用編碼演算法
b 1.base64 b 每6個bit位在高位添2個0形成乙個可讀的8位,這樣3個原始8位變成4個編碼8位,3 8 4 6 編碼後的8位值從0 63依次對映為大小寫字母52個,數字10個,然後 b b 和 b b 共64個字元.如果原始字元數不是3的倍數,用值0位元組填充,用字元 b b 的個數表示...
信源編碼演算法(費諾編碼 哈夫曼編碼)
信源編碼演算法 費諾編碼 fano coding 哈夫曼編碼 huffman coding 1.費諾編碼 編碼步驟 1.將信源符號按照其概率大小,從大到小排列 2.將這一組信源符號分成概率之和盡可能接近或者相等的一組 即兩組分別的概率和之間的差盡可能小!3.將上面一組符號編碼成 0,下面一組編碼成 ...