字符串编码解码,HTML编码解码

[发表] 浏览(18)
 | 2015年10月23日
 | 支持服务 | 
可见范围:公开
[标题] 字符串编码解码,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编码解码

  1. 标准base64只有64个字符(英文大小写、数字和+、/)以及用作后缀等号;
  2. base64是把3个字节变成4个可打印字符,所以base64编码后的字符串一定能被4整除(不算用作后缀的等号);
  3. 等号一定用作后缀,且数目一定是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");