csharp: string Encoding

  /// <summary>
        /// 中文转unicode
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string unicode_0(string str)
        {
            string outStr = "";
            if (!string.IsNullOrEmpty(str))
            {
                for (int i = 0; i < str.Length; i++)
                {
                    outStr += "/u" + ((int)str[i]).ToString("x");
                }
            }
            return outStr;
        }
        /// <summary>
        /// 汉字转为Unicode编码
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string bgktounicode(string str)
        {
            string outstr = "";
            //汉字转为Unicode编码:
            string hz = str;
            byte[] b = Encoding.Unicode.GetBytes(hz);
            string o = "";
            foreach (var x in b)
            {
                o += string.Format("{0:X2}", x) + " ";
            }
            outstr = o;
            return outstr;
        }

        /// <summary>
        ///  unicode转中文
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string unicode_1(string str)
        {
            string outStr = "";
            if (!string.IsNullOrEmpty(str))
            {
                string[] strlist = str.Replace("/", "").Split(‘u‘);
                try
                {
                    for (int i = 1; i < strlist.Length; i++)
                    {
                        //将unicode字符转为10进制整数,然后转为char中文字符
                        outStr += (char)int.Parse(strlist[i], System.Globalization.NumberStyles.HexNumber);
                    }
                }
                catch (FormatException ex)
                {
                    outStr = ex.Message;
                }
            }
            return outStr;
        }
        /// <summary>
        /// unicode转中文(符合js规则的)
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string unicode_js_1(string str)
        {
            string outStr = "";
            Regex reg = new Regex(@"(?i)\\u([0-9a-f]{4})");
            outStr = reg.Replace(str, delegate(Match m1)
            {
                return ((char)Convert.ToInt32(m1.Groups[1].Value, 16)).ToString();
            });
            return outStr;
        }
        /// <summary>
        /// 中文转unicode(符合js规则的)
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string unicode_js_0(string str)
        {
            string outStr = "";
            string a = "";
            if (!string.IsNullOrEmpty(str))
            {
                for (int i = 0; i < str.Length; i++)
                {
                    if (Regex.IsMatch(str[i].ToString(), @"[\u4e00-\u9fa5]")) { outStr += "\\u" + ((int)str[i]).ToString("x"); }
                    else { outStr += str[i]; }
                }
            }
            return outStr;
        }

        /// <summary>
        /// 骞垮憡涓戦椈
        /// </summary>
        /// <param name="utf8String"></param>
        /// <returns></returns>
        public static string unicodeTogbk(string utf8String)
        {
            string defaultString = "";
            Encoding utf8 = Encoding.UTF8;
            Encoding defaultCode = Encoding.Default;
            // Convert the string into a byte[].
            byte[] utf8Bytes = Encoding.Default.GetBytes(utf8String);
            // Perform the conversion from one encoding to the other.
            byte[] defaultBytes = Encoding.Convert(utf8, defaultCode, utf8Bytes);
            // Convert the new byte[] into a char[] and then into a string.
            // This is a slightly different approach to converting to illustrate
            // the use of GetCharCount/GetChars.
            char[] defaultChars = new char[defaultCode.GetCharCount(defaultBytes, 0, defaultBytes.Length)];
            defaultCode.GetChars(defaultBytes, 0, defaultBytes.Length, defaultChars, 0);
            defaultString = new string(defaultChars);
            return defaultString;
        }
        /// <summary>
        /// 骞垮憡涓戦椈
        /// </summary>
        /// <param name="utf8String"></param>
        /// <returns></returns>
        public static string unicodeTogbkb(string utf8String)
        {
            string strBuffer = "";
            byte[] buffer1 = Encoding.Default.GetBytes(utf8String);
            byte[] buffer2 = Encoding.Convert(Encoding.UTF8, Encoding.Default, buffer1, 0, buffer1.Length);
            strBuffer = Encoding.Default.GetString(buffer2, 0, buffer2.Length);
            return strBuffer;
        }
时间: 2024-10-12 23:49:38

csharp: string Encoding的相关文章

Effective JavaScript String Encoding Item 7

本系列作为Effective JavaScript的读书笔记. 提起Unicode,也许许多程序员都会觉得这玩意很麻烦,可是本质上,Unicode并不复杂.世界上每种语言的每一个文字都被一个整形数值表示,范围是0到1114111,这个值在Unicode术语中被称为Code Point.在字符到整形数值的映射上,Unicode和其它编码方式诸如ASCII并没有区别. 但是,Unicode存在多种编码方式,而ASCII只有一种方式: 字符集 编码方式 ASCII ASCII Encoding, e.

csharp:.net 3.5 using System.Runtime.Serialization.Json read json

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

C++ supports various string and character types,

String and Character Literals (C++) Visual Studio 2015 Other Versions C++ supports various string and character types, and provides ways to express literal values of each of these types. In your source code, you express the content of your character

Servlet(2):Requset/Response Encoding and Filter

Requset/Response Encoding 表单提交分GET和POST,接下来分开讨论. (1)GET/URL提交的数据 在 Tomcat中,默认情况下使用"URIEncoding"的值(tomcat8.0后是UTF-8,之前是ISO-8859-1)对URL提交的数据和表单中GET方式提交的数据进行解码.由于浏览器已经进行了一次编码(UTF-8),所以后台什么都不需要做. 1 @Override 2 protected void doGet(HttpServletRequest

Java HttpURLConnection 抓取网页内容 解析gzip格式输入流数据并转换为String格式字符串

最近GFW为了刷存在感,搞得大家是头晕眼花,修改hosts 几乎成了每日必备工作. 索性写了一个小程序,给办公室的同事们分享,其中有个内容 就是抓取网络上的hosts,废了一些周折. 我是在一个博客上抓取的.但是这位朋友的博客应该是在做防盗链,但他的方式比较简单就是5位数的一个整形随机数.这里折腾一下就ok了. 要命的是他这个链接的流类型 居然是gzip.这个郁闷好久,一直以为是编码格式导致解析不出来结果,后来发现是gzip搞的. 主要的一段代码做个记录吧. 1 /** 2 * 网络工具类 用于

java中的String.getBytes()的用法

在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这个表示在不通OS下,返回的东西不一样! String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如 byte[] b_gbk = "中".getBytes("GBK"); byte[] b_utf8 = "中".getBytes("UTF-8"); by

系统变量file.encoding对Java的运行影响有多大?(转)good

这个话题来自: Nutz的issue 361 在考虑这个issue时, 我一直倾向于使用系统变量file.encoding来改变JVM的默认编码. 今天,我想到, 这个系统变量,对JVM的影响到底有多大呢? 我使用最简单的方法看看这个变量的影响--在JDK 1.6.0_20的src.zip文件中,查找包含file.encoding字眼的文件. 共找到4个, 分别是: 先上重头戏 java.nio.Charset类: public static Charset defaultCharset() {

hadoop编码问题,mapreduce中Tex与string的转化 乱码问题

引用:http://blog.csdn.net/zklth/article/details/11829563 Hadoop处理GBK文本时,发现输出出现了乱码,原来HADOOP在涉及编码时都是写死的UTF-8,如果文件编码格式是其它类型(如GBK),则会出现乱码. 此时只需在mapper或reducer程序中读取Text时,使用transformTextToUTF8(text, "GBK");进行一下转码,以确保都是以UTF-8的编码方式在运行. public static Text

jsp过滤器之encoding字符编码过滤器

一.创建两个jsp页面:a.jsp和b.jsp. 1.a.jsp 1 <!-- 登陆表单 --> 2 <form action="CheckLoginServlet.do" method="post"> 3 <input type="text" name="username"> 4 <input type="password" name="password