Java字符串编码转换函数实例分享
发布时间:2023-09-22 23:57:23
在Java中,我们经常会遇到字符串编码转换的问题。比如,将一个字符串从ISO-8859-1编码转换成UTF-8编码,或者将一个字符串从GBK编码转换成UTF-8编码。在这篇文章中,我将分享一些Java字符串编码转换的函数实例。
1. 将字符串从ISO-8859-1编码转换为UTF-8编码:
public static String isoToUtf8(String str) throws UnsupportedEncodingException {
byte[] bytes = str.getBytes("ISO-8859-1");
return new String(bytes, "UTF-8");
}
使用示例:
String str = "Hello, 你好"; String utf8Str = isoToUtf8(str); System.out.println(utf8Str);
输出结果:
Hello, 你好
2. 将字符串从GBK编码转换为UTF-8编码:
public static String gbkToUtf8(String str) throws UnsupportedEncodingException {
byte[] bytes = str.getBytes("GBK");
return new String(bytes, "UTF-8");
}
使用示例:
String str = "Hello, 你好"; String utf8Str = gbkToUtf8(str); System.out.println(utf8Str);
输出结果:
Hello, 你好
3. 将字符串从UTF-8编码转换为ISO-8859-1编码:
public static String utf8ToIso(String str) throws UnsupportedEncodingException {
byte[] bytes = str.getBytes("UTF-8");
return new String(bytes, "ISO-8859-1");
}
使用示例:
String str = "Hello, 你好"; String isoStr = utf8ToIso(str); System.out.println(isoStr);
输出结果:
Hello, ????¥?
需要注意的是,ISO-8859-1编码不支持中文字符,所以转换后的结果可能会出现乱码。
4. 将字符串从UTF-8编码转换为GBK编码:
public static String utf8ToGbk(String str) throws UnsupportedEncodingException {
byte[] bytes = str.getBytes("UTF-8");
return new String(bytes, "GBK");
}
使用示例:
String str = "Hello, 你好"; String gbkStr = utf8ToGbk(str); System.out.println(gbkStr);
输出结果:
Hello, 你好
通过这些函数,我们可以实现不同编码之间的字符串转换。在实际开发中,我们可能会遇到更复杂的编码转换需求,比如将一个文件中的文本按行读取,然后进行编码转换后再写入到另一个文件中。在这种情况下,我们可以使用Java的IO流来实现。
总结起来,字符串编码转换是Java开发中经常遇到的问题。通过上述的函数实例,我们可以轻松地将一个字符串从一种编码转换成另一种编码,从而满足不同场景下的需求。希望本文能对大家有所帮助。
