字符集编码Unicode到native
2016-03-18 11:09
429 查看
public static String ascii2native(String sAscii) { StringBuilder sb = new StringBuilder(); String[] words = sAscii.split("\\\\u"); sb.append(words[0]); for (int i = 1; i < words.length; i++) { String word = words[i]; sb.append((char) Integer.parseInt(word.substring(0, 4), 16)+""); if (word.length() > 4) { sb.append(word.substring(4)); } } return sb.toString(); }
public static String native2ascii(String sNative) { if (TextUtils.isEmpty(sNative)) return ""; char[] chars = sNative.toCharArray(); StringBuilder sb = new StringBuilder(); for (char c : chars) { if (c > 127) { sb.append("\\u"); sb.append(Integer.toHexString(c)); } else { sb.append(c); } } return sb.toString(); }
public static String decodeUnicode(String theString) { char aChar; int len = theString.length(); StringBuffer outBuffer = new StringBuffer(len); for (int x = 0; x < len;) { aChar = theString.charAt(x++); if (aChar == '\\') { aChar = theString.charAt(x++); if (aChar == 'u') { // Read the xxxx int value = 0; for (int i = 0; i < 4; i++) { aChar = theString.charAt(x++); switch (aChar) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': value = (value << 4) + aChar - '0'; break; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': value = (value << 4) + 10 + aChar - 'a'; break; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': value = (value << 4) + 10 + aChar - 'A'; break; default: throw new IllegalArgumentException( "Malformed \\uxxxx encoding."); } } outBuffer.append((char) value+""); } else { if (aChar == 't') aChar = '\t'; else if (aChar == 'r') aChar = '\r'; else if (aChar == 'n') aChar = '\n'; else if (aChar == 'f') aChar = '\f'; outBuffer.append(aChar+""); } } else outBuffer.append(aChar+""); } return outBuffer.toString(); }
相关文章推荐
- Linux 与 Windows 对UNICODE 的处理方式
- Unicode详细分析解释
- ASP编码必备的8条原则
- vbs中将GB2312转Unicode的代码
- XML指南——XML编码
- C#中字符串编码处理
- ExtJS中文乱码之GBK格式编码解决方案及代码
- 程序员趣味读物 谈谈Unicode编码
- 文本文件编码方式区别
- C语言安全编码之数值中的sizeof操作符
- C#实现获取文本文件的编码的一个类(区分GB2312和UTF8)
- 常用字符集编码详解(ASCII GB2312 GBK GB18030 unicode UTF-8)
- VC中BASE64编码和解码使用详解
- C#实现Json转Unicode的方法
- 计算机中的字符串编码、乱码、BOM等问题详解
- UTF-8、Unicode 标准化表单、BOM
- Base64编码解码原理及C#编程实例
- C#编码好习惯小结
- javascript编码的几个方法详细介绍
- 深入理解Python字符编码 推荐