Java中常用的字符串编码和解码函数
在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 <World>"; String decodedStr = StringEscapeUtils.unescapeHtml4(str);
这些函数可以帮助我们在Java中进行字符串的编码和解码操作,从而满足不同的需求。
