今日在写android的客户端,发现字符转化是个大问题。

下面是Unicode转UTF-8的转化,便于以后使用

  1. privatestaticStringdecodeUnicode(StringtheString){
  2. charaChar;
  3. intlen=theString.length();
  4. StringBufferoutBuffer=newStringBuffer(len);
  5. for(intx=0;x<len;){
  6. aChar=theString.charAt(x++);
  7. if(aChar=='\\'){
  8. aChar=theString.charAt(x++);
  9. if(aChar=='u'){
  10. //Readthexxxx
  11. intvalue=0;
  12. for(inti=0;i<4;i++){
  13. aChar=theString.charAt(x++);
  14. switch(aChar){
  15. case'0':
  16. case'1':
  17. case'2':
  18. case'3':
  19. case'4':
  20. case'5':
  21. case'6':
  22. case'7':
  23. case'8':
  24. case'9':
  25. value=(value<<4)+aChar-'0';
  26. break;
  27. case'a':
  28. case'b':
  29. case'c':
  30. case'd':
  31. case'e':
  32. case'f':
  33. value=(value<<4)+10+aChar-'a';
  34. break;
  35. case'A':
  36. case'B':
  37. case'C':
  38. case'D':
  39. case'E':
  40. case'F':
  41. value=(value<<4)+10+aChar-'A';
  42. break;
  43. default:
  44. thrownewIllegalArgumentException(
  45. "Malformed\\uxxxxencoding.");
  46. }
  47. }
  48. outBuffer.append((char)value);
  49. }else{
  50. if(aChar=='t')
  51. aChar='\t';
  52. elseif(aChar=='r')
  53. aChar='\r';
  54. elseif(aChar=='n')
  55. aChar='\n';
  56. elseif(aChar=='f')
  57. aChar='\f';
  58. outBuffer.append(aChar);
  59. }
  60. }else
  61. outBuffer.append(aChar);
  62. }
  63. returnoutBuffer.toString();
  64. }

更多相关文章

  1. JS判断客户端类型(ipad,iphone,android)
  2. Android 字符串格式化 千位符
  3. android客户端发送XML数据至服务器
  4. Android客户端GPS定位
  5. android 微博客户端源码
  6. 用Android搭建客户端 手机和服务器交互开发实例
  7. 2011年沈大海讲师Android的新浪微博客户端开发教程
  8. Facebook工程师是如何改进他们Android客户端的
  9. 【转】Android 字符串的加密和解密

随机推荐

  1. android:gravity 与android:layout_gravi
  2. Android(安卓)通过Android(安卓)SDK Mana
  3. Android渗透测试Android渗透测试入门教程
  4. android系统自带的样式(@android:style)
  5. 50个Android开发人员必备UI效果源码
  6. Android跨进程通信IPC之6——Binder框架
  7. android 关于google刘海屏的解决方案
  8. Android中gravity与layout_gravity的区别
  9. Android开发——控件基础(五)RadioButton组
  10. android中的六大布局