用java实现native2asscii命令

来源:互联网 发布:网络安全技术有哪些 编辑:程序博客网 时间:2024/05/16 05:42
  1. package com.work.util;
  2. import java.io.UnsupportedEncodingException;
  3. /**
  4.  * 准备在动态的生成javascript的时候使用。
  5.  * @author wangmingjie
  6.  * 
  7.  * native2ascii 命令的java实现!
  8.  *
  9.  */
  10. public class Native2Ascii {
  11.     /**
  12.      * 可以将GBK转换成为UTF-8编码
  13.      * @param str
  14.      * @return
  15.      */
  16.     public static String native2ascii(String str) {
  17.         char[] ac = str.toCharArray();
  18.         StringBuffer rs = new StringBuffer(ac.length);
  19.         for (int k = 0; k < ac.length; k++)
  20.             if (ac[k] > '/177') {
  21.                 rs.append((char92);
  22.                 rs.append((char117);
  23.                 String s1 = Integer.toHexString(ac[k]);
  24.                 StringBuffer stringbuffer = new StringBuffer(s1);
  25.                 stringbuffer.reverse();
  26.                 int l = 4 - stringbuffer.length();
  27.                 for (int i1 = 0; i1 < l; i1++)
  28.                     stringbuffer.append('0');
  29.                 for (int j1 = 0; j1 < 4; j1++)
  30.                     rs.append(stringbuffer.charAt(3 - j1));
  31.             } else {
  32.                 rs.append(ac[k]);
  33.             }
  34.         return rs.toString();
  35.     }
  36.     public static void main(String[] args) throws UnsupportedEncodingException{
  37.         System.out.println(Native2Ascii.native2ascii("我们是中国人"));
  38.         System.out.println("/u6211/u4eec/u662f/u4e2d/u56fd/u4eba");
  39.         System.out.println(Native2Ascii.native2ascii("完整性检查.raq"));
  40.         
  41.         System.out.println(java.net.URLEncoder.encode("完整性检查.raq","gbk"));
  42.         System.out.println(java.net.URLDecoder.decode("%CD%EA%D5%FB%D0%D4%BC%EC%B2%E9.raq","gbk"));
  43.         System.out.println(java.net.URLEncoder.encode("中国","gbk"));
  44.     }
  45. }