android中Parcel中文乱码的解决:巧用十六进制

把需要传递的中文转化成十六进制的字符串。

str的格式:

"48", "65", "6C", "6C", "6F", "CD", "FB", "BE", "A9", "D7", "E9"

private String hex2String(String str) {  Log.d(LOG_TAG, "hex2String str = " + str); if(str.indexOf(",") == -1){ return str; } String[] strArray = str.split(",");// String[] strArray = {"48", "65", "6C", "6C", "6F", "CD", "FB", "BE", "A9", "D7", "E9"}; StringBuilder builder = new StringBuilder();         for (int i = 0; i < strArray.length; i++) {        char ch = (char) Integer.parseInt(strArray[i], 16);        builder.append(new Character(ch).toString());}         try {return new String(builder.toString().getBytes("ISO-8859-1"),"GBK");} catch (UnsupportedEncodingException e) {return null;}       }

参考代码:
package cn.itcast.string;public class Hex2String {public static void main(String[] args) {// TODO Auto-generated method stubString str = "I love 中国";String s = toHexString(str);System.out.println(s);System.out.println(toStringHex(s));}//转化字符串为十六进制编码public static String toHexString(String str){String s = "";for (int i = 0; i < str.length(); i++) {char ch = str.charAt(i);s += Integer.toHexString(ch) + ",";}s = s.substring(0, s.length()-1);return s;}//十六进制编码转化为字符串  public static String toStringHex(String str){String[] strArray = str.split(",");StringBuilder sb = new StringBuilder();for (int i = 0; i < strArray.length; i++) {char ch = (char) Integer.parseInt(strArray[i], 16);sb.append(Character.toString(ch));}return sb.toString();}}


更多相关文章

  1. Android 3.0 r1中文API文档(103) —— InputMethodManager [输入
  2. android studio 中文乱码,字体优化解决之道
  3. Android中文API(122) —— AudioRecord
  4. Android 中文 API(123) ―― AbsListView(一)
  5. android api 中文 (73)―― AdapterView
  6. Android 中文API (70) ―― BluetoothDevice[蓝牙]
  7. android 设置中文字体。。。。
  8. Android 3.0 r1 API中文文档(108) ―― ExpandableListAdapter

随机推荐

  1. android开发架构设计学习
  2. Android锁屏控制
  3. android 禁止横屏时输入法全屏
  4. Android(安卓)启动过程详解
  5. mac 上启动模拟器
  6. 修改ListView 分割线Seperator line
  7. Android通讯:通话
  8. 如何以编程方式退出android应用程序
  9. Android(安卓)Studio 配置快捷方式生成JN
  10. 基于Socket的Android手机视频实时传输