自己实现的JAVA转码工具类
2011-05-20 13:15
330 查看
package common.util.encoding;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
public class EString {
private String newString;
public EString(String str, String old_encoding, String encoding)
throws UnsupportedEncodingException {
ByteBuffer buff = ByteBuffer
.allocate(str.getBytes(old_encoding).length);
buff.put(str.getBytes(old_encoding));
//ready to get
buff.flip();
buff.rewind();
Charset decoder = Charset.forName(old_encoding);
Charset encoder = Charset.forName(encoding);
CharBuffer cb = decoder.decode(buff);
ByteBuffer result_buff = encoder.encode(cb);
try {
newString = new String(result_buff.array(), encoding);
// cut overflow blank str
newString = newString.substring(0, str.length());
} catch (UnsupportedEncodingException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
@Override
public String toString() {
return newString;
}
}
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
public class EString {
private String newString;
public EString(String str, String old_encoding, String encoding)
throws UnsupportedEncodingException {
ByteBuffer buff = ByteBuffer
.allocate(str.getBytes(old_encoding).length);
buff.put(str.getBytes(old_encoding));
//ready to get
buff.flip();
buff.rewind();
Charset decoder = Charset.forName(old_encoding);
Charset encoder = Charset.forName(encoding);
CharBuffer cb = decoder.decode(buff);
ByteBuffer result_buff = encoder.encode(cb);
try {
newString = new String(result_buff.array(), encoding);
// cut overflow blank str
newString = newString.substring(0, str.length());
} catch (UnsupportedEncodingException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
@Override
public String toString() {
return newString;
}
}
相关文章推荐
- java 自己实现项目一键全转码 解决文件乱码问题
- java多线程学习之通过ThreadLocal实现每个线程拥有自己的变量
- 经典java转码程序,有备无患!实现和 jdk/bin/native2ascii.exe 同样的功能
- 07_数据库创建,添加c3p0操作所需的jar包,编写c3p0-config.xml文件,编写User.java,编写jdbcUtils.java实现操作数据库的模板工具类,UserDao编写,Dao
- java spring 简单封装出自己的DAO Service实现
- Java工具类实现校验公民身份证的有效性
- Java Web 中使用ffmpeg实现视频转码、视频截图
- java 实现视频转换通用工具类:获取视频元数据信息(一)
- java(280)手写sorm之jdbcUtil工具类的实现
- java 实现视频转换通用工具类:视频相互转换-总方法及Mencoder(二)
- 自己实现Java中二叉查找树的部分功能(待补充)
- 【java集合】自己实现简易的ArrayList
- java实现分页工具类(JDBC)
- Java隐藏银行卡号或者手机号中间几位,用*号代替工具类实现HideDataUtil
- 自己动手写工具(一)一个用Java8实现的内存级别的缓存
- 用Java实现自己的数据库OR映射框架
- Thinking in Java 泛型章节中不用LinkedList来实现自己的内部链式存储机制
- 使用单例模式实现自己的HttpClient工具类
- JAVA 使用Interface 实现自己的事件监听
- java实现的导出Excel工具类实例