C#编程总结(十)字符转码

为了适应某种特殊需要,字符需要根据规则进行转码,便于传输、展现以及其他操作等。

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

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);
        }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索html
, string
, 字符串
, 编码
, 字符串反转
, encoding
, 转码
, 字符
, 服务器转码
, 目标编码
, C#字符编码
, 字符串转byte
, htmldecode()
php_word转html
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-10-31 18:18:06

C#编程总结(十)字符转码的相关文章

pb数据窗口编程技巧十则

Pb(PowerBuilder)取得巨大成就的原因就是有Datawindow对象,DataWindow是具有功能强大和灵活多变的特点,本人用PowerBuilder开发过一段时间后,总结出一些技巧,以供广大的PB开发者借鉴使用. 一.如何创建一个报表,如下形式 Quantity Running Total 5,000 5,000 2,500 7,500 3,000 10,500 12,000 22,500 对于Running Total列,我们可使用计算列:CumulativeSum(Quant

ASP 3.0高级编程(十五)

编程|高级 4.3.4 Server对象的错误处理ASP没有错误处理机制一直受到批评.在VBScript中,有一个On Error Resume Next语句,它使脚本解释器忽略运行期错误并继续脚本代码的执行.接着该脚本可以检查Err.Number属性的值,判别是否出现了错误.如果出现错误,返回一个非零值.在ASP 3.0中,也可以使用On Error Goto 0"转回到"缺省的错误处理.在ASP 2.0中实际也进行这种处理,但是没有相应文档说明.在Jscript中,有一个新的错误处

ASP 3.0高级编程(十六)

编程|高级 4.3.5 获取Server对象的路径信息在对存储在Web网站上的文件进行操作时,需要获得文件的实际的物理路径,而不是使用虚拟路径或URL,尽管在其他网页中能用它们正常地定位文件.下一章中有一个例子,它使用FileSystemObject对Web站点的InetPub\WWWRoot文件夹中的文件进行读写.当创建自己的定制组件或者使用商业化的组件对文件系统进行访问时,经常需要为其提供一个文件的物理路径.Server对象的MapPath方法可以从Request.ServerVariabl

ASP.NET编程的十大技巧

1.在使用Visual Studio .NET时,除直接或非引用的对象外,不要使用缺省的名字.  .NET带来的好处之一是所有的源代码和配置文件都是纯文本文件,能够使用Notepad或WordPad等任意的文本编辑器进行编辑.如果不愿意,我们并非一定要使用Visual Studio .NET作为集成开发环境.但使用了Visual Studio .NET,我们可以在Windows文件管理器中看到文件,或在Visual Studio .NET之外从文本编辑器中浏览文件的内容.  使用Visual S

字符-ascii码的fputc出错,而且显示不全

问题描述 ascii码的fputc出错,而且显示不全 输出1~127的ascii码对应码字char c,有一些字符显示不全,比如7,8,9,13后面是空的.用fputc将它们依次写进文件. 用fgetc读取该文件,并将得到的字符依次显示, 可是到了第26个字符,显示文件结束了!程序结束!这是为什么? 程序非常短小,请帮忙看一下! #include #include using namespace std; void main(){ char c; int t=0; FILE *in,*out;

php处理微信Emoji表情Unicode字符转码编码的问题解决

什么是Emoji?我们来看看百度百科的解释 emoji就是表情符号,来自日语词汇"?文字"(假名为"えもじ",读音即emoji). emoji的创造者日本人是栗田?崇(Shigetaka Kurita),他将目光投向儿时的各种元素以获取灵感,如日本漫画和日本汉字等."日本漫画中有许多不同的符号.漫画家会画出一些表情,表现一个人满头大汗或是迸发出一个想法时头上出现一个灯泡.同时,从日本汉字中他获得了一种能力,用简单的字符来表达"秘密"和&

《Java并发编程的艺术》源码下载

<Java并发编程的艺术>纸质书购买地址=>天猫(价最低)  当当 京东  互动   亚马逊 <Java并发编程的艺术>电子书购买地址=>亚马逊 请使用JDK1.7及其以上版本编译源码,源码的任何问题可以通过评论告诉我们. 通过附件下载源码:ArtConcurrentBook 从SVN check out 源码:http://code.taobao.org/svn/ifevebook/trunk/ArtConcurrentBook   转载自 并发编程网 - ifeve

ASP 3.0高级编程(十二)

编程|高级 4.2.3 服务器端包含指令的例子本节提供了一些示例页面,可以用来对各种服务器端包含语句进行实验.打开示例网页的子目录Chapter04,显示"SSI Directives and the ASP Server Object"主页(即子目录Chapter04中的Default.asp),如图4-3所示: 图4-3 示例网页本书的所有示例都可以从我们的Web网站下载.读者将在示例的子目录Chapter04中发现本章其余部分的所有示例页面.1. 使用SSI/CGI处理指令单击链

Spring 编程入门十大问题解答

编程|解答|问题 1.如何学习Spring? 你可以通过下列途径学习spring: (1) spring下载包中doc目录下的MVC-step-by-step和sample目录下的例子都是比较好的spring开发的例子. (2) AppFuse集成了目前最流行的几个开源轻量级框架或者工具 Ant,XDoclet,Spring,Hibernate(iBATIS),JUnit,Cactus,StrutsTestCase,Canoo's WebTest,Struts Menu,Display Tag