1、单纯的Unicode 转码

  1. String a = "\u53ef\u4ee5\u6ce8\u518c";
  2. a = new String(a.getBytes("UTF-16"),"Unicode");

2、String 字符串中含有 Unicode 编码时,转为UTF-8

  1. public static String decodeUnicode(String theString) {
  2. char aChar;
  3. int len = theString.length();
  4. StringBuffer outBuffer = new StringBuffer(len);
  5. for (int x = 0; x < len;) {
  6. aChar = theString.charAt(x++);
  7. if (aChar == '\\') {
  8. aChar = theString.charAt(x++);
  9. if (aChar == 'u') {
  10. // Read the xxxx
  11. int value = 0;
  12. for (int i = 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. throw new IllegalArgumentException(
  45. "Malformed \\uxxxx encoding.");
  46. }
  47.  
  48. }
  49. outBuffer.append((char) value);
  50. } else {
  51. if (aChar == 't')
  52. aChar = '\t';
  53. else if (aChar == 'r')
  54. aChar = '\r';
  55. else if (aChar == 'n')
  56. aChar = '\n';
  57. else if (aChar == 'f')
  58. aChar = '\f';
  59. outBuffer.append(aChar);
  60. }
  61. } else
  62. outBuffer.append(aChar);
  63. }
  64. return outBuffer.toString();
  65. }

String 字符串中含有 Unicode 编码时,转为UTF-8的更多相关文章

  1. Python中的Unicode编码和UTF-8编码

    下午看廖雪峰的Python2.7教程,看到 字符串和编码 一节,有一点感受,结合崔庆才的Python博客 ,把这种感受记录下来: ASCII码:是用一个字节(8bit, 0-255)中的127个字母表 ...

  2. 字符串怎么换行 || 字符串中使用单引号时应该怎么写 || 保留两位小数 || 数字0在if中的意思是false || 什么情况下会会报undefined || null和undefined的区别 ||

    换行的字符串 "This string\nhas two lines" 字符串中使用单引号时应该怎么写 'You\'re right, it can\'t be a quote' ...

  3. C#中文和UNICODE编码转换

    C#中文和UNICODE编码转换 //中文轉為UNICODE string str = "中文"; string outStr = ""; if (!strin ...

  4. c# 字符串中多个连续空格转为一个空格

    #region 字符串中多个连续空格转为一个空格 /// <summary> /// 字符串中多个连续空格转为一个空格 /// </summary> /// <param ...

  5. 编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。

    题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127).不在范围内的不作统计. 输入描述: 输入N个字符,字符在ACSII码范围内. 输出描述: 输出范围在( ...

  6. Tomcat 中get请求中含有中文字符时乱码的处理

    Tomcat 中get请求中含有中文字符时乱码的处理

  7. 将string字符串中的换行符进行替换

    /** * 方法名称:replaceBlank * 方法描述: 将string字符串中的换行符进行替换为"" * */ public static String replaceBl ...

  8. VS2013 中使用 CxImage 库时用Unicode编码时出现链接错误

    CxImage 本身是支持Unicode 编码的,编译CxImage库的时候选择编译Unicode就可以了,得到的lib文件和dll文件很容易看出有个u的就是Unicode编码的 当然在使用的时候要对 ...

  9. json中含有Unicode的处理办法 C#

    public static class StringExtension { #region unicode 字符转义 /// <summary> /// 转换输入字符串中的任何转义字符.如 ...

随机推荐

  1. 数字提取——C语言

    Problem Description AekdyCoin is the most powerful boy in the group ACM_DIY, whose signature is valu ...

  2. zeromq学习记录(一)最初的简单示例使用ZMQ_REQ ZMQ_REP

    阅读zeromq guide的一些学习记录 zeromq官方例子 在VC下运行会有些跨平台的错误 我这里有做修改 稍后会发布出来 相关的代码与库  http://download.zeromq.org ...

  3. 深入理解JVM(二)Java内存区域

    2.1 C.C++内存管理是由开发人员管理,而Java则交给了JVM进行自动管理 2.2 JVM运行时数据区:方法区.堆(运行时线程共享),虚拟机栈.本地方法栈.程序计数器(运行时线程隔离,私有) 1 ...

  4. C++静态库与动态库(比较透彻)

    这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自 ...

  5. 网站日志流量分析采集(LuaJIT系统环境部署-node03,相关jar包自己手动上传)

    注:/usr/local/src 是源码包路径,可以自己更改 服务器中安装依赖 yum -y install gcc perl pcre-devel openssl openssl-devel 上传 ...

  6. Python10/24--组合/封装/property装饰器/多态

    组合的应用: 1. 什么是组合 一个对象的属性是来自于另外一个类的对象,称之为组合 2. 为何用组合 组合也是用来解决类与类代码冗余的问题 3. 如何用组合 '''class Foo: aaa=111 ...

  7. Maths | 为什么点积等价于投影后的乘积

    目录 1. 复习点积 2. 点积的对称性 3. 矩阵与变换的关系 4. 一维矩阵也是一种线性变换 5. 最终解释:为什么是投影 先上结论: \(\boldsymbol v\)和\(\boldsymbo ...

  8. HDU 1171 01背包

    http://acm.hdu.edu.cn/showproblem.php?pid=1171 基础的01背包,求出总值sum,背包体积即为sum/2 #include<stdio.h> # ...

  9. QQ网页弹窗

    QQ网页弹窗 1.网址:http://shang.qq.com/v3/index.html 2.选推广工具,提示语随便写 3.建一个html 网页,并把代码拷进去. 4.双击网页,就可以打开了.(用E ...

  10. ajax 删除数据无刷新

    //html页面 <!doctype html><head> <title></title> <meta http-equiv="Con ...