Welcome

首页 / 软件开发 / C# / C#编程总结(十)字符转码

C#编程总结(十)字符转码2014-03-20 cnblogs 停留的风为了适应某种特殊需要,字符需要根据规则进行转码,便于传输、展现以及其他操作等。

看看下面的转码,就知道他的用处了。

1、字符串转码

根据原编码格式与目标编码格式,完成转换。不过可能出现乱码哦。上一章已经介绍过了。

代码:

/// <summary>/// 字符串编码转换/// </summary>/// <param name="srcEncoding">原编码</param>/// <param name="dstEncoding">目标编码</param>/// <param name="srcBytes">原字符串</param>/// <returns>字符串</returns>public static string TransferEncoding(Encoding srcEncoding, Encoding dstEncoding, string srcStr){byte[] srcBytes = srcEncoding.GetBytes(srcStr);byte[] bytes = Encoding.Convert(srcEncoding, dstEncoding, srcBytes);return dstEncoding.GetString(bytes);}
测试用例:

input = "欢迎来到转码世界!";result = Transfer.TransferEncoding(Encoding.Default, Encoding.UTF8, input);//欢迎来到转码世界!Console.WriteLine("TransferEncoding 结果:{0}",result);result = Transfer.TransferEncoding(Encoding.UTF8,Encoding.Default,result);Console.WriteLine("TransferEncoding 反转码结果:{0}", result);//欢迎来到转码世界!
2、Html转码

要点:将字符 < 和 > 在嵌入到文本块中时被编码为 &lt; 和 &gt;

如果在 HTTP 流中传递空白和标点之类的字符,则它们在接收端可能会被错误地解释。 HTML 编码将 HTML 中不允许使用的字符转换为等效字符实体;HTML 解码会反转此编码过程。 例如,为进行 HTTP 传 输,字符 < 和 > 在嵌入到文本块中时被编码为 &lt; 和 &gt;。要编码或解码 Web 应 用程序之外的值,请使用 WebUtility 类。

转码:

/// <summary>/// html转码/// </summary>/// <param name="html"></param>/// <returns></returns>public static string HtmlEncode(string html){return HttpUtility.HtmlEncode(html);//System.Net.WebUtility.HtmlEncode(html);}
解码:

/// <summary>/// html解码/// </summary>/// <param name="html"></param>/// <returns></returns>public static string HtmlDecode(string html){return HttpUtility.HtmlDecode(html);//System.Net.WebUtility.HtmlDecode(html);}