HTTP请求编解码原理

19 篇文章 3 订阅
7 篇文章 0 订阅
这段代码展示了在浏览器端如何对原始数据进行URL编码,然后转换为ISO8859-1字节数组。在服务器端,这些字节被解码回ISO8859-1字符串,并进一步用UTF-8解码回原始数据,确保数据在HTTP传输过程中的正确性。
摘要由CSDN通过智能技术生成
System.out.println("======浏览器端======");
String str = "POST /demo/user HTTP/1.1";
System.out.println("1、原始数据:" + str);
//使用UTF-8是根据页面编码确定的,即:<meta charset="UTF-8">
str = URLEncoder.encode(str, "UTF-8");
System.out.println("2、utf-8 url编码:" + str);
byte[] data = str.getBytes("ISO8859-1");
System.out.println("3、iso8859-1打碎成字节数组:" + Arrays.toString(data));

System.out.println("======服务器端======");
str = new String(data, "ISO8859-1");
System.out.println("4、iso8859-1把字节数组解码成编码字符串:" + str);
str = URLDecoder.decode(str, "UTF-8");
System.out.println("5、utf-8把编码字符串解码成原始数据:" + str);



/*
======浏览器端======
1、原始数据:POST /demo/user HTTP/1.1
2、utf-8 url编码:POST+%2Fdemo%2Fuser+HTTP%2F1.1
3、iso8859-1打碎成字节数组:[80, 79, 83, 84, 43, 37, 50, 70, 100, 101, 109, 111, 37, 50, 70, 117, 115, 101, 114, 43, 72, 84, 84, 80, 37, 50, 70, 49, 46, 49]
======服务器端======
4、iso8859-1把字节数组解码成编码字符串:POST+%2Fdemo%2Fuser+HTTP%2F1.1
5、utf-8把编码字符串解码成原始数据:POST /demo/user HTTP/1.1
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值