图中详细描述了 字符串类String 与 文件File ,ByteBuffer,CharBuffer,byte[] 数组,char[]数组之间的互相转换。
几点心得:
1)String类始终是以Unicode编码形式存储.
2)注意String.getBytes()的使用:
如果不带字符集参数,就会依赖于JVM的字符集编码,LINUX上一般为UNICODE,WINDOWS下一般为GBK.(要想改变JVM缺省字符集编码,启动JVM时用选项-Dfile.encodeing=UTF-8.
为了安全起见,建议始终带参数调用,例如:String s ; s.getBytes("UTF-8")。
3)Charset类非常好用,
Charset.encode 是编码,即把String按你指定的字符集编码格式进行编码后输出字节数组。
Charset.decode 是解码,即把一个字节数组按你指定的字符集编码格式进行解码后输出成字符串。
举例如下:
String s = Charset.defaultCharset().displayName();
String s1 = "我喜欢你,My Love";
ByteBuffer bb1 = ByteBuffer.wrap(s1.getBytes("UTF-8"));
for(byte bt:bb1.array()){
System.out.printf("%x",bt);
}
//char[]用法
char[] chArray={'I','L','o','v','e','你'};
//CharBuffer用法
CharBuffer cb = CharBuffer.wrap(chArray);
//重新定位指针
cb.flip();
String s2= new String(chArray);
//ByteBuffer用法
ByteBuffer bb2 = Charset.forName("utf-8").encode(cb);
// 利用Charset编码为指定字符集
ByteBuffer bb3 = Charset.forName("utf-8").encode(s1);
byte [] b = bb3.array() ;
// 利用Charset按指定字符集解码为字符串
ByteBuffer bb4= ByteBuffer.wrap(b);
String s2 = Charset.forName("utf-8").decode(bb4).toString();
相关推荐
java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...
java字符串的各种编码转换. java字符串的各种编码转换
java字符串处理取出括号内的字符串 都是我自己试过可以用的j
Java字符串编码查询及转换,可将常用的一些编码格式转换成utf-8
Java字符串查找和提取异常处理,最有效的方法
JAVA的字符串拼接与性能 概述:本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码...
java字符串编码转换和web中的字符串转换
JAVA字符串处理函数列表一览 JAVA字符串相关
java 常用字符串处理工具类! java 常用字符串处理工具类!
java 字符串 详细实例代码 字符串检索 可改变字符串 字符串生成器 日期和时间字符串格式化
java压缩字符串
JAVA字符串处理函数列表一览.txtJAVA字符串处理函数列表一览.txt
编写一个applet程序,在窗口界面中实现当输入一个字符串和一个字符后,原字符串中所有该字符将被删除并显示出结果
封装的功能:字符串从GBK编码转换为Unicode编码、对字符串进行md5加密、sql语句 处理、把null转换为字符串"0"、null 处理、long型变量转换成String型变量、int型变量转换成String型变量、String型变量转换成int型...
java 字符串的加密 java 字符串的加密 java 字符串的加密
JAVA日期与字符串的转换 1) 将一个Date类型的变量转换为字符串 2) 将一个字符串转换Date类型的变量
java 分解字符串 java 分解字符串 java 分解字符串
有关java里的一些字符串的总结,适合java初学者学习。
通过解析字符串获取字符串编码类型的java代码
java字符串处理的util工具类,也可以同时添加一些其他字符处理的方法,对于项目中特殊字符处理,完成项目中基本的字串符处理。