中文亂碼解決之一 JS的編碼、解碼及C#中對應的解碼、編碼
1、escape
定義和用法
escape對字串資料編碼,如果是對url進行編碼必須用encodeURI或是encodeURLComponent,解碼使用:unescape。
返回值
字符集是unicode,編碼成16進位制。
說明
不編碼字元有69個:
特殊符號:* + - . / @ _
數字及字母:0-9,a-z,A-Z
C#:
在專案中引用.net元件"Microsoft.Jscript" ,Microsoft.JScript.GlobalObject類中有與JS對應編碼/解碼函式Microsoft.JScript.GlobalObject.escape
2、encodeURI
定義和用法
encodeURI對整個url編碼,如果url引數中有特殊字元如“#”,“$”,"&"等字元用encodeURIComponent,因為url中的引數分隔符"&"會被編碼,解碼使用decodeURI()。
返回值
UTF-8編碼格式,編碼成16進位制
說明
不編碼字元有82個:
特殊符號:! # $ & ' ( ) * + , - . / : ; = ? @ _ ~
數字及字母:0-9,a-z,A-Z
C#:
在專案中引用.net元件"Microsoft.Jscript" ,Microsoft.JScript.GlobalObject類中有與JS對應編碼/解碼函式Microsoft.JScript.GlobalObject.encodeURI
3、encodeURIComponent
定義和用法
encodeURIComponent對url的引數值進行編碼,如果url中有“#”,“$”,"&"等字元encodeURI不會編碼,所有有特殊字元必須用encodeURIComponent,解碼使用decodeURIComponent()。
返回值
UTF-8編碼格式,編碼成16進位制
說明
不編碼字元有71個:
特殊符號:! ' ( ) * - . _ ~
數字及字母:0-9,a-z,A-Z
C#:
在專案中引用.net元件"Microsoft.Jscript" ,Microsoft.JScript.GlobalObject類中有與JS對應編碼/解碼函式Microsoft.JScript.GlobalObject.encodeURIComponent
1、escape
定義和用法
escape對字串資料編碼,如果是對url進行編碼必須用encodeURI或是encodeURLComponent,解碼使用:unescape。
返回值
字符集是unicode,編碼成16進位制。
說明
不編碼字元有69個:
特殊符號:* + - . / @ _
數字及字母:0-9,a-z,A-Z
C#:
在專案中引用.net元件"Microsoft.Jscript" ,Microsoft.JScript.GlobalObject類中有與JS對應編碼/解碼函式Microsoft.JScript.GlobalObject.escape
2、encodeURI
定義和用法
encodeURI對整個url編碼,如果url引數中有特殊字元如“#”,“$”,"&"等字元用encodeURIComponent,因為url中的引數分隔符"&"會被編碼,解碼使用decodeURI()。
返回值
UTF-8編碼格式,編碼成16進位制
說明
不編碼字元有82個:
特殊符號:! # $ & ' ( ) * + , - . / : ; = ? @ _ ~
數字及字母:0-9,a-z,A-Z
C#:
在專案中引用.net元件"Microsoft.Jscript" ,Microsoft.JScript.GlobalObject類中有與JS對應編碼/解碼函式Microsoft.JScript.GlobalObject.encodeURI
3、encodeURIComponent
定義和用法
encodeURIComponent對url的引數值進行編碼,如果url中有“#”,“$”,"&"等字元encodeURI不會編碼,所有有特殊字元必須用encodeURIComponent,解碼使用decodeURIComponent()。
返回值
UTF-8編碼格式,編碼成16進位制
說明
不編碼字元有71個:
特殊符號:! ' ( ) * - . _ ~
數字及字母:0-9,a-z,A-Z
C#:
在專案中引用.net元件"Microsoft.Jscript" ,Microsoft.JScript.GlobalObject類中有與JS對應編碼/解碼函式Microsoft.JScript.GlobalObject.encodeURIComponent