<强> java字符转码:三种方法强>
注:如有问题请留言,
下面具体的实例
<强>,方法一:. lang。字符串强>
//用于解码的构造器: 字符串(byte[]字节,int抵消,int长度字符串charsetName) 字符串(byte[]字节,字符串charsetName) 用于编码的方法: byte [] getBytes(字符串charsetName)//使用指定字符集进行编码 byte [] getBytes()//使用系统默认字符集进行编码
公共空间convertionString()抛出UnsupportedEncodingException { 字符串s="清山”; byte [] b=s.getBytes (gbk ");//编码 字符串sa=新的字符串(b, gbk ");//解码:用什么字符集编码就用什么字符集解码 System.out.println (sa); b=sa.getBytes (" utf - 8 ");//编码 sa=新的字符串(b, " utf - 8 ");//解码 System.err.println (sa); } >之前<强>方法二:java.io.InputStreamReader/OutputStreamWriter:桥转换,强>
包com.qingshan.io; 进口java.io.FileInputStream; 进口java.io.FileOutputStream; 进口java.io.IOException; 进口java.io.InputStream; 进口java.io.InputStreamReader; 进口java.io.OutputStream; 进口java.io.OutputStreamWriter; 进口java.io.UnsupportedEncodingException;/* * * & lt; pre> *使用java桥转换:对文件进行转码 * & lt;/pre> * & lt;人力资源颜色=奥躺弊4? lt;/hr> * 2012青山组版权所有 * & lt;人力资源颜色=奥躺弊4? lt;/hr> * @author thetopofqingshan * @version 1.0.0 * @since JDK 1.5 * @date 2012-4-28 */公开课CharsetConvertion { 私人FileInputStream fis;//文件输入流:读取文件中内容 私人InputStream是; 私人InputStreamReader isr; 私人OutputStream操作系统; 私人OutputStreamWriter osw;//写入 私人char [] ch=new char [1024]; 公共空间convertionFile()抛出IOException {=new FileInputStream (“C:/项目进度跟踪. txt ");//文件读取吗 isr=new InputStreamReader (gbk ");//解码 os=new FileOutputStream (“C:/项目进度跟踪_utf - 8. - txt ");//文件输出 osw=new OutputStreamWriter(操作系统," utf - 8 ");//开始编码 char [] c=新char[1024];//缓冲 int长度=0; 而(真){ 长度=isr.read (c); 如果(长度==1){ 打破; } system . out。println(新字符串(c, 0,长度)); osw。写(c、0、长度); osw.flush (); } } 公共空间convertionString()抛出UnsupportedEncodingException { 字符串s="清山集团”; byte [] b=s.getBytes (gbk ");//编码 字符串sa=新的字符串(b, gbk ");//解码:用什么字符集编码就用什么字符集解码 System.out.println (sa); b=sa.getBytes (" utf - 8 ");//编码 sa=新的字符串(b, " utf - 8 ");//解码 System.err.println (sa); }/* * * & lt; pre> *关闭所有流 * & lt;/pre> * */公共空间close () { 如果(isr !=null) { 尝试{ isr.close (); }捕捉(IOException e) { e.printStackTrace (); } } 如果(!=null) { 尝试{ is.close (); }捕捉(IOException e) {//TODO自动生成的catch块 e.printStackTrace (); } } 如果(osw !=null) { 尝试{ osw.close (); }捕捉(IOException e) {//TODO自动生成的catch块 e.printStackTrace (); } } 如果(os !=null) { 尝试{ os.close (); }捕捉(IOException e) {//TODO自动生成的catch块 e.printStackTrace (); } } }/* * * & lt; pre> *用io读取文件内容 * & lt;/pre> * * @throws IOException *读取过程中发生错误 * *//* * * & lt; pre> * * & lt;/pre> * @param路径 * @param字符集 * @throws IOException * */公共空间读取(字符串,字符串字符集)抛出IOException { fis=new FileInputStream(路径); isr=new InputStreamReader (fis、字符集); 而(fis.available()在0){ int长度=isr.read (ch); system . out。println(新的字符串(ch)); } } 公共静态void main (String [] args) { 尝试{ CharsetConvertion cc=new CharsetConvertion (); cc.convertionFile (); cc.convertionString (); cc.close (); }捕捉(IOException e) { e.printStackTrace (); } } }java字符转码的三种方法总结及实例