Java中GBK与UTF-8是常见的字符编码方式,这里讲解如何将GBK编码的字符串转换成UTF-8编码的字符串,共有两种方法。
方法一:手动转换
手动转换需要使用Java的编码转换API,具体步骤如下:
- 将字符串按GBK编码方式解码为字节数组;
- 将字节数组按UTF-8编码方式组装成字符串。
示例代码如下:
import java.io.UnsupportedEncodingException;
public class StringEncodingConverter {
public static void main(String[] args) {
String strGBK = "中文字符串";
String strUTF8 = null;
try {
// 将GBK编码的字符串转为字节数组
byte[] bytes = strGBK.getBytes("GBK");
// 将字节数组按UTF-8编码方式组装成字符串
strUTF8 = new String(bytes, "UTF-8");
System.out.println("strGBK:" + strGBK);
System.out.println("strUTF8:" + strUTF8);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
输出结果如下:
strGBK:中文字符串
strUTF8:中文字符串
方法二:使用第三方库进行转换
使用第三方库进行转换可以大大简化代码操作,这里选择使用Apache Commons Lang库中的StringUtils
类,具体步骤如下:
- 导入Apache Commons Lang库;
- 调用
StringUtils
类中的toEncodedString()
方法进行转换。
示例代码如下:
import org.apache.commons.lang3.StringUtils;
public class StringEncodingConverter {
public static void main(String[] args) {
String strGBK = "中文字符串";
String strUTF8 = StringUtils.toEncodedString(strGBK.getBytes(), "UTF-8");
System.out.println("strGBK:" + strGBK);
System.out.println("strUTF8:" + strUTF8);
}
}
输出结果如下:
strGBK:中文字符串
strUTF8:中文字符串
可以看到,结果与方法一相同,但代码更加简洁易懂。
综上所述,有两种方法可以实现Java中GBK转UTF-8,分别是手动转换和使用第三方库进行转换。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java gbk转utf-8 - Python技术站