在 Java 中,除了 native2ascii
工具外,还有多种工具和方法可以进行编码转换。以下是一些常用的工具和方法:
String.getBytes()
方法:
通过 String
类的 getBytes(String charsetName)
方法,可以将字符串转换为指定编码的字节数组。这是最常用的编码转换方法。
示例:
java String str = "你好"; byte[] utf8Bytes = str.getBytes("UTF-8"); byte[] gbkBytes = str.getBytes("GBK");
Charset
类:
Java NIO 提供的 Charset
类可以用于更灵活的编码转换。你可以通过 Charset.forName("charsetName")
获取指定字符集的实例,并使用它进行编码和解码。
示例:
java Charset utf8 = Charset.forName("UTF-8"); Charset gbk = Charset.forName("GBK"); byte[] gbkBytes = str.getBytes(gbk); String decodedStr = new String(gbkBytes, utf8);
java.net.URLEncoder
和java.net.URLDecoder
:
用于处理 URL 编码和解码,确保字符串在 URL 中的安全性。
示例:
java String encoded = URLEncoder.encode("你好", "UTF-8"); String decoded = URLDecoder.decode(encoded, "UTF-8");
- Hutool 工具库:
Hutool 是一个常用的 Java 工具库,提供了丰富的编码转换功能,包括 Unicode 和字符串之间的转换、字符集的转换等。
示例:
java String utf8Str = Convert.convertCharset(garbled, CharsetUtil.ISO_8859_1, CharsetUtil.UTF_8);
- Apache Commons Codec:
这个库提供了多种编码和解码功能,包括 Base64 编码、Hex 编码等,可以用于处理字符串的编码转换。
- 自定义工具类:
你可以根据需要编写自己的工具类,封装常用的编码转换逻辑,以便在项目中复用。
这些工具和方法可以帮助你在 Java 中灵活地处理各种编码转换需求,确保字符串在不同编码之间的正确转换和显示。