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="width: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("中华人民共和国"));
    }
posted @ 2011-08-25 21:29  blueKnight  Views(932)  Comments(0Edit  收藏  举报