欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文詳解JavaScript的轉(zhuǎn)碼方式

 更新時(shí)間:2023年09月07日 08:32:48   作者:編程三昧  
JavaScript 轉(zhuǎn)碼是指將 JavaScript 代碼從一種編碼方式轉(zhuǎn)換為另一種編碼方式,常見(jiàn)的轉(zhuǎn)碼方式包括 URL 編碼和 Base64 編碼,解碼是前端比較常見(jiàn)的一種操作,本文就給大家講講JavaScript轉(zhuǎn)碼方式

解碼是前端比較常見(jiàn)的一種操作。

特殊符號(hào)是否編碼

  • escape: 不編碼ASCII字母、數(shù)字、標(biāo)點(diǎn)符號(hào)"@ * _ + - . /",對(duì)其他所有字符進(jìn)行編碼。
  • encodeURI: 不編碼ASCII字母、數(shù)字、標(biāo)點(diǎn)符號(hào)"; / ? : @ & = + $ , #",對(duì)其他所有字符進(jìn)行編碼。
  • encodeURIComponent: 對(duì)所有字符進(jìn)行編碼

轉(zhuǎn)碼結(jié)果

  • escape: 輸出字符的Unicode編碼值
  • encodeURI: 輸出符號(hào)的utf-8形式,并且在每個(gè)字節(jié)前加上%
  • encodeURIComponent: 輸出符號(hào)的utf-8形式,并且在每個(gè)字節(jié)前加上%

tips:

  • 但是我們知道,網(wǎng)頁(yè)在提交表單的時(shí)候,如果有空格,則會(huì)被轉(zhuǎn)化為+字符。服務(wù)器處理數(shù)據(jù)的時(shí)候,會(huì)把+號(hào)處理成空格。

注意點(diǎn)

為何解碼最好解兩次

例如筆者常用的解碼方式

function decode(str) {
    var r = '';
    try {
        r = decodeURIComponent(decodeURIComponent(str));   
    }catch(e){
        try {
            r = decodeURIComponent(str);
        } catch(e) {
            try {
                r = unescape(str); //Unicode
            }catch(e) {
                r = str;
            }
        }
    }
    return r;
}
  • 為什么捕抓異常: 其實(shí)decodeURIComponent是會(huì)有時(shí)候會(huì)爆異常的..這個(gè)屬于bug
  • 為什么要嘗試兩次編碼、一次編碼、和無(wú)編碼: 因?yàn)榉乐狗?wù)端encode兩次、一次、或者無(wú)編碼
  • 為什么要最后unescape,因?yàn)橹挥羞@個(gè)方法能解析Unicode編碼

到此這篇關(guān)于一文詳解JavaScript的轉(zhuǎn)碼方式的文章就介紹到這了,更多相關(guān)JavaScript轉(zhuǎn)碼方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論