zoukankan      html  css  js  c++  java
  • C# JavaScript Java 与 中文 unicode 处理

    C#

        /// 
    <summary>
        /// 将汉字转换为Unicode
        /// 
    </summary>
        /// 
    <param name="text">要转换的字符串</param>
        /// 
    <returns></returns>
        public static string GBToUnicode(string text)
        {
            byte[] bytes = System.Text.Encoding.Unicode.GetBytes(text);
            string lowCode = "", temp = "";
            for (int i = 0; i 
    < bytes.Length; i++)
            {
                if (i % 2 
    == 0)
                {
                    temp 
    = System.Convert.ToString(bytes[i], 16);//取出元素4编码内容(两位16进制)
                    if (temp.Length < 2) temp 
    = "0" + temp;
                }
                else
                {
                    string mytemp 
    = Convert.ToString(bytes[i], 16);
                    if (mytemp.Length < 2) mytemp 
    = "0" + mytemp; lowCode = lowCode + @"\u" + mytemp + temp;//取出元素4编码内容(两位16进制)
                }
            }
            return lowCode;
        }

        /// <summary
    >
        /// 将Unicode转换为汉字
        /// 
    </summary>
        /// 
    <param name="name">要转换的字符串</param>
        /// 
    <returns></returns>
        public string UnicodeToGB(string text)
        {
            MatchCollection mc = Regex.Matches(text, "([\\w]+)|(\\\\u([\\w]{4}))");
            if (mc != null && mc.Count > 0)
            {
                StringBuilder sb = new StringBuilder();
                foreach (Match m2 in mc)
                {
                    string v = m2.Value;
                    string word = v.Substring(2);
                    byte[] codes = new byte[2];
                    int code = Convert.ToInt32(word.Substring(0, 2), 16);
                    int code2 = Convert.ToInt32(word.Substring(2), 16);
                    codes[0] = (byte)code2;
                    codes[1] = (byte)code;
                    sb.Append(Encoding.Unicode.GetString(codes));
                }
                return sb.ToString();
            }
            else
            {
                return text;
            }
        }

    js

    <script Language=Javascript>
    var classObj=
         {
           ToUnicode:
    function(str) 
           {
            
    return escape(str).replace(/%/g,"\\").toLowerCase();
           },
        
           UnUnicode:
    function(str)
           {
            
    return unescape(str.replace(/\\/g, "%"));
           },

          copyingTxt:
    function(str)
          {
           document.getElementById(str).select(); 
           document.execCommand(
    "Copy"); 
          }
        }
    </script>
    <textarea id=codes style="500px;height:300px"></textarea><br><br>
    <input type=button value=Unicode加密 onclick=javascript:codes.value=classObj.ToUnicode(codes.value)>
    <input type=button value=Unicode解密 onclick=javascript:codes.value=classObj.UnUnicode(codes.value)>
    <input type=button value=复制上面文本 onclick=javascript:classObj.copyingTxt("codes")>
    <input type=button value=清空上面内容 onclick=javascript:codes.value="">

    Java:
    public static void main(String[] args) {
            String str = "\u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd";
            //char[] charArray = str.toCharArray();
            //str = new String(charArray);
            System.out.println(str);
            System.out.print(str.equals("中华人民共和国"));
        }
  • 相关阅读:
    准备 FRM 考试——方法、工具与教训
    930. 和相同的二元子数组 前缀和
    1906. 查询差绝对值的最小值 前缀和
    剑指 Offer 37. 序列化二叉树 二叉树 字符串
    815. 公交路线 BFS
    518. 零钱兑换 II dp 完全背包
    1049. 最后一块石头的重量 II dp
    5779. 装包裹的最小浪费空间 二分
    5778. 使二进制字符串字符交替的最少反转次数 字符串 滑动窗口
    474. 一和零 dp
  • 原文地址:https://www.cnblogs.com/ding0910/p/2153779.html
Copyright © 2011-2022 走看看