encode(編碼)和decode(解碼)方法

2022-07-02 19:42:08 字數 1497 閱讀 2234

js對文字進行編碼涉及3個函式:escape,encodeuri,encodeuricomponent,相應3個解碼函式:unescape,decodeuri,decodeuricomponent

1 escape()函式

定義和用法 

escape() 函式可對字串進行編碼,這樣就可以在所有的計算機上讀取該字串。

語法 escape(string)

引數  描述  

string  必需。要被轉義或編碼的字串。 

返回值 

已編碼的 string 的副本。其中某些字元被替換成了十六進製制的轉義序列。

說明 該方法不會對 ascii 字母和數字進行編碼,也不會對下面這些 ascii 標點符號進行編碼: - _ . ! ~ * ' ( ) 。其他所有的字元都會被轉義序列替換。

2 encodeuri()函式 

定義和用法 

encodeuri() 函式可把字串作為 uri 進行編碼。

語法 encodeuri(uristring)

引數  描述  

uristring  必需。乙個字串,含有 uri 或其他要編碼的文字。 

返回值 

uristring 的副本,其中的某些字元將被十六進製制的轉義序列進行替換。

說明 該方法不會對 ascii 字母和數字進行編碼,也不會對這些 ascii 標點符號進行編碼: - _ . ! ~ * ' ( ) 。

該方法的目的是對 uri 進行完整的編碼,因此對以下在 uri 中具有特殊含義的 ascii 標點符號,encodeuri() 函式是不會進行轉義的:;/?:@&=+$,#

3 encodeuricomponent() 函式

定義和用法 

encodeuricomponent() 函式可把字串作為 uri 元件進行編碼。

語法 encodeuricomponent(uristring)

引數  描述  

uristring  必需。乙個字串,含有 uri 元件或其他要編碼的文字。 

返回值 

uristring 的副本,其中的某些字元將被十六進製制的轉義序列進行替換。

說明 該方法不會對 ascii 字母和數字進行編碼,也不會對這些 ascii 標點符號進行編碼: - _ . ! ~ * ' ( ) 。

其他字元(比如 :;/?:@&=+$,# 這些用於分隔 uri 元件的標點符號),都是由乙個或多個十六進製制的轉義序列替換的。

4 釋:

escape()除了 ascii 字母、數字和特定的符號外,對傳進來的字串全部進行轉義編碼,因此如果想對url編碼,最好不要使用此方法。而encodeuri() 用於編碼整個uri,因為uri中的合法字元都不會被編碼轉換。encodeuricomponent方法在編碼單個uricomponent(指請求引數)應當是最常用的,它可以講引數中的中文、特殊字元進行轉義,而不會影響整個url。

python中decode和encode的使用

python中的編碼是採用unicode編碼的,在做編譯轉換時,需要使用unicode作為中間編碼 情況一 編碼一 unicode編碼 將其他編碼的字串解碼 decode成unicode a.decode gb2312 或者 unicode.unicode a,gb2312 情況二 unicode編...

python中decode和encode的區別

coding utf 8 import sys 首先要搞清楚,字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼 decode 成unicode,再從unicode編碼 encode 成另一種編碼。decode的作用...

python中decode和encode的區別

import sys 字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼 decode 成unicode,再從unicode編碼 encode 成另一種編碼。decode的作用是將其他編碼的字串轉換成unicode編...