UNICODE值转换成字符串
来源:互联网 发布:高中物理题库软件 编辑:程序博客网 时间:2024/06/07 15:25
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
System.out.println("\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7")能够在控制台上打印正出中文来,但是如果\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7在文件中,从文件中读出来再在控制台输出,则输出的还是\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7,若要从文件中读出的时候也能够正确显示其代表的中文字符,该如何处理呢?
答:当在程序中的字符串"\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7"表示时,\u5e7f其实在机器内部是一个UNICODE值(不是由这6个字符组成的串)。而文本文件中的\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7,其\u5e7f就不是一个UNICODE值,而是由这6个字符组成的串。因此需要转换。
转换的方法代码参考如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public
static
String convert(String utfString)
{
StringBuilder sb =
new
StringBuilder();
int
i=-
1
;
int
pos=
0
;
while
((i=utfString.indexOf(
"\\u"
,pos))!=-
1
)
{
sb.append(utfString.substring(pos,i));
if
(i+
5
<utfString.length())
{
pos=i+
6
;
sb.append((
char
)Integer.parseInt(utfString.substring(i+
2
,i+
6
),
16
));
}
//if
}
//while
return
sb.toString();
}
用该方法测试的结果如下:
若:文本文件中的串是:ab\u5e7fdd\u5ddeew\u5e02qq\u531721\u4eac\u8def39\u53f7
则:结果是:ab广dd州ew市qq北21京路39号
代码中的unicode码,在编译的时候,就被会自动转换成相应的字符。(亲爱滴火龙果告诉我滴。。
所以
1
System.out.println(
"\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7"
)
在编译的时候,就被转换成了:
1
System.out.println(
"广州市北京路39号"
);
而如果写在了文件里,那在读的时候,\ 会自动转换为\\
也就是,实际读取出来的是:
1
\\u5e7f\\u5dde\\u5e02\\u5317\\u4eac\\u8def39\\u53f7
所以输出的时候,看到的是文件里保存的字符串,
1
"广州市北京路39号"
也就是,实际读取出来的是:
1
\\u5e7f\\u5dde\\u5e02\\u5317\\u4eac\\u8def39\\u53f7
所以输出的时候,看到的是文件里保存的字符串,
而不是
1
"广州市北京路
39
号
文件个java程序里对这个字符的认识不一样,文件里的认为它是字符串!但是在java里\xxxx是unicode,不再认为是字符串,你真的要输出这个字符串的话这样写!
System.out.println("\\u5e7f\\u5dde\\u5e02\\u5317\\u4eac\\u8def39\\u53f7");
就像正则表达式里的一样,你要打印出'\',应该System.out.println("\\");
因为\认为是转义符!
- UNICODE值转换成字符串
- 将Unicode编码值转换为Unicode字符串
- 将unicode字符串转换为Unicode编码值
- js实现字符串转换成unicode
- Java:转换汉字为unicode形式的字符串和转换unicode形式字符串转换成汉字
- 转换汉字为unicode形式的字符串和转换unicode形式字符串转换成汉字
- Unicode 字符串的转换
- UTF8编码字符串转换成Unicode编码字符串算法
- Python如何将Unicode中文字符串转换成 string字符串
- Unicode与ANSI字符串转换
- ANSI UNICODE 字符串相互转换
- Unicode 与 ANSI 字符串转换
- Ascii utf8 Unicode 字符串转换
- Unicode 与 ANSI 字符串转换
- Unicode 与 ANSI 字符串转换
- Unicode格式字符串之间转换
- 字符串和unicode互相转换
- ansi与unicode字符串转换
- 将整形数据转换为反转数字字符串输出
- CoreImage图片滤镜效果详解
- 2187 hdu
- Android应用的结构与基本组件
- 删除线性表(数组)中的重复元素
- UNICODE值转换成字符串
- 看到他我一下子就悟了(续)
- 十六周 涨工资
- 安装 svn时 SSL handshake failed
- 栈的应用实例---表达式求值(C语言)
- delphi 简单判断程序30秒没有键盘和鼠标动作
- Windows程序迁移Linux
- oracle名版本对aix操作系统的支持(转自ID 169706.1)
- asp.net用户控件,自定义控件,复合控件