java utf8 gb2312_JAVA UTF-8 GB2312 编码互转

该博客介绍了如何在Java中进行UTF-8到GB2312以及GB2312到UTF-8的编码转换。提供了一个名为UnicodeChange的类,包含utf8Togb2312和gb2312ToUtf8两个静态方法,分别用于实现两种编码的转换。在main方法中,展示了转换过程并打印了转换结果。
摘要由CSDN通过智能技术生成

import java.io.UnsupportedEncodingException;

import java.net.URLEncoder;

public class UnicodeChange {

//UTF-8->GB2312

public static String utf8Togb2312(String str){

StringBuffer sb = new StringBuffer();

for ( int i=0; i

char c = str.charAt(i);

switch (c) {

case '+' :

sb.append( ' ' );

break ;

case '%' :

try {

sb.append(( char )Integer.parseInt (

str.substring(i+1,i+3),16));

}

catch (NumberFormatException e) {

throw new IllegalArgumentException();

}

i += 2;

break ;

default :

sb.append(c);

break ;

}

}

String result = sb.toString();

String res= null ;

try {

byte [] inputBytes = result.getBytes( "8859_1" );

res= new String(inputBytes, "UTF-8" );

}

catch (Exception e){}

return res;

}

//GB2312->UTF-8

public static String gb2312ToUtf8(String str) {

String urlEncode = "" ;

try {

urlEncode = URLEncoder.encode (str, "UTF-8" );

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

return urlEncode;

}

public static void main(String[] args){

try {

String str="輸入簡體字,點下面繁體字按鈕進行在線轉換.";//%E4%B8%AD%E5%9B%BD

str=gb2312ToUtf8(str);

System.out.println(str);

str=utf8Togb2312(str);

System.out.println(str);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值