[标题] 字符串编码解码,HTML编码解码
[标签] 开发,Visual Studio,JS
Html编码解码
cs后台代码中使用, 用于呈现页面Html标签中内容,标签相关字符转义
|
在页面后台代码中使用 |
在非页面后台代码中使用 |
编码 |
Server.HtmlEncode |
HttpContext.Current.Server.HtmlEncode |
解码 |
Server.HtmlDecode |
HttpContext.Current.Server.HtmlDecode |
Server.HtmlEncode(@"标签如:imgsrc=""img!cface"""); 标签相关字符转义原样显示<="" span="">
字符串编码解码
用于非显示内容,如cookie,Url。不用于呈现页面Html标签中内容
|
前台代码中使用JS |
后台代码中使用 |
编码 |
encodeURIComponent |
GlobalObject.encodeURIComponent |
解码 |
decodeURIComponent |
GlobalObject.decodeURIComponent |
标准base64编码解码
- 标准base64只有64个字符(英文大小写、数字和+、/)以及用作后缀等号;
- base64是把3个字节变成4个可打印字符,所以base64编码后的字符串一定能被4整除(不算用作后缀的等号);
- 等号一定用作后缀,且数目一定是0个、1个或2个。这是因为如果原文长度不能被4整除,base64要在后面添加凑齐。
string sourceString="abc123";
System.Text.Encoding ens=System.Text.Encoding.GetEncoding(54936);
sourceString=Convert.ToBase64String(ens.GetBytes(sourceString));//编码
sourceString=ens.GetString(Convert.FromBase64String(base64String));//解码
代码页 |
名称 |
1200 |
“UTF-16LE”、“utf-16”、“ucs-2”、“unicode”或“ISO-10646-UCS-2” |
1201 |
“UTF-16BE”或“unicodeFFFE” |
1252 |
“windows-1252” |
65000 |
“utf-7”、“csUnicode11UTF7”、“unicode-1-1-utf-7”、“unicode-2-0-utf-7”、“x-unicode-1-1-utf-7”或“x-unicode-2-0-utf-7” |
65001 |
“utf-8”、“unicode-1-1-utf-8”、“unicode-2-0-utf-8”、“x-unicode-1-1-utf-8”或“x-unicode-2-0-utf-8” |
20127 |
“us-ascii”、“us”、“ascii”、“ANSI_X3.4-1968”、“ANSI_X3.4-1986”、“cp367”、“csASCII”、“IBM367”、“iso-ir-6”、“ISO646-US”或“ISO_646.irv:1991” |
54936 |
“GB18030” |
某些平台可能不支持特定的代码页。例如,Windows 98 的美国版本可能不支持日语 Shift-jis 代码页(代码页 932)。
ens= Encoding.GetEncoding("shift-jis");