URLEncoder編碼演算法

2022-05-27 02:57:09 字數 1028 閱讀 8381

**:

一、為什麼要用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,下面一組編碼成 ...