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("中华人民共和国"));
        }
  • 相关阅读:
    MFC STATIC,Picture控件使用及无法添加变量的问题
    MFC listctrl NMCLICK消息 错误 无法从"NMHDR*"转换为"NMITEMACTIVATE"
    vs2008中将开始执行按钮(不调试按钮)添加至标准工具栏方法
    MFC 删除工具栏 默认对话框全屏 修改MFC标题栏的文字 删除菜单栏
    Visual Assist X设置
    MFC禁止窗口最大化按钮和禁止改变窗口大小
    MFC从头开始如何利用MFC分割窗口
    MFC CSplitterWnd窗口分割
    关于VS2008下提示microsoft incremental linker已停止工作的问题
    windows 下codeblocks查看容器值
  • 原文地址:https://www.cnblogs.com/ding0910/p/2153779.html
Copyright © 2011-2022 走看看