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

Java中常用的字符串编码和解码函数

发布时间:2023-07-04 12:04:42

在Java中,常用的字符串编码和解码函数包括以下几种:

1. UTF-8编码和解码:

- 编码:可以使用String类的getBytes()方法将字符串转换为UTF-8编码的字节数组。

   String str = "Hello World!";
   byte[] utf8Bytes = str.getBytes("UTF-8");
   

- 解码:可以使用构造函数将UTF-8编码的字节数组转换为字符串。

   String str = new String(utf8Bytes, "UTF-8");
   

2. GBK编码和解码:

- 编码:可以使用String类的getBytes()方法将字符串转换为GBK编码的字节数组。

   String str = "你好,世界!";
   byte[] gbkBytes = str.getBytes("GBK");
   

- 解码:可以使用构造函数将GBK编码的字节数组转换为字符串。

   String str = new String(gbkBytes, "GBK");
   

3. URL编码和解码:

- 编码:可以使用java.net包中的URLEncoder类的encode()方法将字符串进行URL编码。

   String str = "https://www.example.com?param=Hello World!";
   String encodedStr = URLEncoder.encode(str, "UTF-8");
   

- 解码:可以使用java.net包中的URLDecoder类的decode()方法将URL编码的字符串解码。

   String str = "https%3A%2F%2Fwww.example.com%3Fparam%3DHello%20World%21";
   String decodedStr = URLDecoder.decode(str, "UTF-8");
   

4. Base64编码和解码:

- 编码:可以使用java.util包中的Base64类的getEncoder()方法将字符串进行Base64编码。

   String str = "Hello World!";
   String encodedStr = Base64.getEncoder().encodeToString(str.getBytes("UTF-8"));
   

- 解码:可以使用java.util包中的Base64类的getDecoder()方法将Base64编码的字符串解码。

   String str = "SGVsbG8gV29ybGQh";
   byte[] decodedBytes = Base64.getDecoder().decode(str);
   String decodedStr = new String(decodedBytes, "UTF-8");
   

5. HTML实体编码和解码:

- 编码:可以使用org.apache.commons.text包中的StringEscapeUtils类的escapeHtml4()方法将字符串进行HTML实体编码。

   String str = "Hello <World>";
   String encodedStr = StringEscapeUtils.escapeHtml4(str);
   

- 解码:可以使用org.apache.commons.text包中的StringEscapeUtils类的unescapeHtml4()方法将HTML实体编码的字符串解码。

   String str = "Hello &lt;World&gt;";
   String decodedStr = StringEscapeUtils.unescapeHtml4(str);
   

这些函数可以帮助我们在Java中进行字符串的编码和解码操作,从而满足不同的需求。