亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

解碼是前端比較常見的一種操作。

特殊符號是否編碼

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

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

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

tips:

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

注意點

為何解碼最好解兩次

例如筆者常用的解碼方式

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;
}
  • 為什么捕抓異常: 其實decodeURIComponent是會有時候會爆異常的..這個屬于bug
  • 為什么要嘗試兩次編碼、一次編碼、和無編碼: 因為防止服務(wù)端encode兩次、一次、或者無編碼
  • 為什么要最后unescape,因為只有這個方法能解析Unicode編碼

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

相關(guān)文章

  • JS實現(xiàn)面包屑導(dǎo)航功能從零開始示例

    JS實現(xiàn)面包屑導(dǎo)航功能從零開始示例

    這篇文章主要為大家介紹了JS實現(xiàn)面包屑導(dǎo)航功能從零開始示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • JS文件上傳時如何使用MD5加密

    JS文件上傳時如何使用MD5加密

    這篇文章主要介紹了JS文件上傳時如何使用MD5加密,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 前端常見的時間轉(zhuǎn)換方法以及獲取當(dāng)前時間方法小結(jié)

    前端常見的時間轉(zhuǎn)換方法以及獲取當(dāng)前時間方法小結(jié)

    在做開發(fā)時會對不同的時間格式進行轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于前端常見的時間轉(zhuǎn)換方法以及獲取當(dāng)前時間方法的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • javascript實現(xiàn)將數(shù)字轉(zhuǎn)成千分位的方法小結(jié)【5種方式】

    javascript實現(xiàn)將數(shù)字轉(zhuǎn)成千分位的方法小結(jié)【5種方式】

    這篇文章主要介紹了javascript實現(xiàn)將數(shù)字轉(zhuǎn)成千分位的方法,結(jié)合實例形式分析了5種常用的數(shù)字轉(zhuǎn)換的常用方法,涉及字符串與正則操作的相關(guān)技巧,需要的朋友可以參考下
    2016-12-12
  • 淺談JavaScript變量的自動轉(zhuǎn)換和語句

    淺談JavaScript變量的自動轉(zhuǎn)換和語句

    下面小編就為大家?guī)硪黄獪\談JavaScript變量的自動轉(zhuǎn)換和語句。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Javascript中的Prototype到底是什么

    Javascript中的Prototype到底是什么

    Javascript也是面向?qū)ο蟮恼Z言,但它是一種基于原型Prototype的語言,而不是基于類的語言。接下來通過本文給大家介紹Javascript中的Prototype到底是啥的相關(guān)知識,感興趣的朋友參考下
    2016-02-02
  • JS實現(xiàn)二叉查找樹的建立以及一些遍歷方法實現(xiàn)

    JS實現(xiàn)二叉查找樹的建立以及一些遍歷方法實現(xiàn)

    本篇文章主要介紹了JS實現(xiàn)二叉查找樹的建立以及一些遍歷方法實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • 你可能不知道的CORS跨域資源共享

    你可能不知道的CORS跨域資源共享

    這篇文章主要給大家介紹了關(guān)于CORS跨域資源共享的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用CORS具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 關(guān)于javascript解決閉包漏洞的一個問題詳解

    關(guān)于javascript解決閉包漏洞的一個問題詳解

    閉包在JavaScript高級程序設(shè)計(第3版)中是這樣描述:閉包是指有權(quán)訪問另一個函數(shù)作用域中的變量的函數(shù),下面這篇文章主要給大家介紹了關(guān)于javascript解決閉包漏洞的一個問題的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 微信小程序?qū)崿F(xiàn)發(fā)送短信驗證碼倒計時

    微信小程序?qū)崿F(xiàn)發(fā)送短信驗證碼倒計時

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)發(fā)送短信驗證碼倒計時,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論