C++解析URL的中文编码
时间: 2024-04-30 15:22:32 浏览: 85
在URL中,中文字符需要进行编码,否则会出现乱码或者无法识别的情况。常见的编码方式有两种:
1. UTF-8编码:将中文字符转换为一串16进制数字,每个数字前面加上“%”,例如“你好”编码后为“%E4%BD%A0%E5%A5%BD”
2. GBK编码:将中文字符转换为一串16进制数字,每个数字前面加上“%”,例如“你好”编码后为“%C4%E3%BA%C3”
解析URL的中文编码需要进行解码,将编码后的16进制数字转换为对应的中文字符。常见的解码方式有两种:
1. URLDecoder.decode()方法:可以将UTF-8编码和GBK编码的URL进行解码,示例代码如下:
```
String url = "https://www.example.com/%E4%BD%A0%E5%A5%BD";
String decodedUrl = URLDecoder.decode(url, "UTF-8");
System.out.println(decodedUrl);
```
输出结果为:“https://www.example.com/你好”
2. new String()方法:可以将UTF-8编码和GBK编码的URL进行解码,示例代码如下:
```
String url = "https://www.example.com/%E4%BD%A0%E5%A5%BD";
byte[] bytes = URLCodec.decodeUrl(url.getBytes());
String decodedUrl = new String(bytes, "UTF-8");
System.out.println(decodedUrl);
```
输出结果为:“https://www.example.com/你好”
阅读全文