欢迎访问宙启技术站
智能推送

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开发中经常遇到的问题。通过上述的函数实例,我们可以轻松地将一个字符串从一种编码转换成另一种编码,从而满足不同场景下的需求。希望本文能对大家有所帮助。