java unicode字符串_java字符串和unicode互转

直接上代码

private static String decodeUnicode(String input) {

if (null == input)

return input;

int len = input.length();

StringBuilder output = new StringBuilder(len);

for (int x = 0; x < len; x++) {

char ch = input.charAt(x);

if (ch != '\\') {

output.append(ch);

} else {

x++;

if (x != len) {

ch = input.charAt(x);

if (ch == 'u') {

if (x + 5 > len) {

output.append(input.substring(x - 1));

x += 4;

} else {

String val = input.substring(x + 1, x + 5);

try {

output.append((char) Integer.parseInt(val, 16));

} catch (NumberFormatException e) {

output.append(input.substring(x - 1, x + 5));

}

x += 4;

}

} else

output.append(ch);

}

}

}

return output.toString();

}

private static String encodeUnicode(String input) {

if (null == input)

return input;

int len = input.length();

StringBuilder output = new StringBuilder(len * 2);

for (int x = 0; x < len; x++) {

char ch = input.charAt(x);

if ((ch < ' ') || (ch > '~')) {

output.append("\\u");

String hex = Integer.toHexString(ch);

for (int i = 0; i < 4 - hex.length(); i++) {

output.append('0');

}

output.append(hex);

} else {

output.append(ch);

}

}

return output.toString();

}

注意stringbuilder和stringbuffer的区别

stringbuffer线程安全,stringbuilder线程不安全,二者功能完全一样。没有异步情况stringbuilder会快一些。

Java - 字符串和Unicode互转 - 解析小米pm&period;min&period;js

小米JS地址: http://p.www.xiaomi.com/zt/20130313/huodong/pm.min.js 上面这个JS是小米抢手机页面的代码.和抢手机有直接关联.. 虽然我3次都没抢 ...

Java字符串与日期互转

Java字符串与日期的相互转换 1.字符串转日期 字符串的格式与日期的格式一定要对应,并且字符串格式可以比日期格式多,但不能少,数字大小不自动计算日期.其中需要主要大小写 年yyyy 月MM 日dd ...

java字符串大小写字母互改

import java.util.Scanner; public class Test { /** * 测试数据 * * @param args */ public static void main( ...

java 中文与unicode互转

public class FontUtil { public static void main(String[] args) { System.out.println(chinaToUnicode(& ...

java笔记 -- java字符串

概念: Java字符串就是Unicode字符序列, Java没有内置的字符串类型, 而是在标准Java类库中提供了一个预定义类. 每个用双引号括起来的字符串都是String类的一个实例.String ...

浅谈Java字符串

从概念上而言,Java字符串就是Unicode字符序列.由于Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类String,每个用双引号的括起来的字符串都是String类的一个实 ...

java对含有中文的字符串进行Unicode编码

public class MyUtil { public static void main(String[] args) throws Exception { String s = "a中a ...

Java中将字符串与unicode的相互转换工具类

unicode编码规则 unicode码对每一个字符用4位16进制数表示.具体规则是:将一个字符(char)的高8位与低8位分别取出,转化为16进制数,如果转化的16进制数的长度不足2位,则在其后补0 ...

Java 字符串格式化详解

Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

随机推荐

libsvm参数学习和核函数使用(转载)

一.参数说明 English libsvm_options: -s svm_type : set type of SVM (default 0) 0 -- C-SVC        1 -- nu-S ...

Loadrunner中百分比模式和Vuser模式

从百分比模式切换到Vuser模式后,多个脚本时候,每个脚本的比例仍然维持不变: 切换到Vuser模式后: 如果在场景执行过程中需要动态添加Vuser,只能在Vuser模式下执行场景 如果需要执行“组” ...

linux创建用户和用户组

Linux创建用户.用户组 及 删除 在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组.创建用户user1的时候指定其所属工作组users,例 ...

Windows 7 32位上硬盘安装linux&lbrack;ubuntu13&period;04&rsqb; 双系统

本内容介绍如何在window7上安装ubuntu双系统 一.准备工具 1. EasyBCD : 用来制作引导菜单选项 2.Wingrub : 用来确定磁盘文件Linux表示法位置 3.分区助手 :用来 ...

Orcle数据库查询练习复习:三

一.题目 1.与“张三”同乡的男生姓名 select * from student where snativeplace=(select snativeplace from student where ...

加入gitignore文件没有起作用怎么办

步骤一: 假设有未提交的文件先提交到Git. 步骤二: 在Git根文件夹下运行以下的Git命令: git rm -r --cached . git add . git commit -m " ...

rtmp指令解释--转

指令 Core rtmp 语法:rtmp { ... } 上下文:根 描述:保存所有 RTMP 配置的块. server 语法:server { ... } 上下文:rtmp 描述:声明一个 RTMP ...

面试心得随谈&amp&semi;线程并发的总结

---恢复内容开始--- 线程同步有两种实现方式: 基于用户模式实现和用内核对象实现.前者偏于轻量级,性能也更好,但是只能用于同一进程间的线程同步,后者重量级,性能消耗更大,跨进程. 研读了一下win ...

python 统计单词个数,并按个数与字母排序

# coding: utf-8 # In[1]: import collections str = "Be slow to promise and quick to perform&quot ...

C&sol;C&plus;&plus; 程序库

C/C++ 程序库 // --------------------------------------------- 来几个不常见但是很变态的库吧: bundle: 把几乎所有常见的压缩库封装成了一个 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值