在Java Web中设计的编解码

本文探讨了在Java Web中涉及的编码问题,包括JS编码、URL编码、Java与JS之间的编解码。重点讲解了浏览器如何对URL进行编码,服务器如何解码,以及Java中URLEncoder和URLDecoder类的作用。同时提到了XML和模板引擎如Velocity、JSP中的编码处理。
摘要由CSDN通过智能技术生成

数据经过网络传输都是以字节为单位的,所以所有的数据都必须能够被序列化为字节。在Java中数据要被序列化,必须继承Serializable接口。

如果把整形数字1234567当做字符来存储,则采用UT-8编码将会占用7个字节,采用UTF-16编码节昂辉占用14个字节,但是把它当做int类型的数字来存储时,则只需4个字节。所以,看一段文本的大小,只看字符本身的长度是没有意义的,即使是一样的字符,采用不同的编码最终存储的大小也会不同,所以从字符到字节一定要看编码类型

另外一个问题,你是否考虑过当我们在计算机中的某个文本编辑器里输入某个汉子时,它到底是怎么表示的。我们知道,在计算机里所有的信息都是以0和1表示的,name一个汉子,它到底是多少个0和1呢。我们能够看到的汉字都是以字符形式出现的,例如在Java中,“淘宝”两个字符在计算机中的十进制数值是28120和23453,16进制是6bd8和5d9d,即这两个字符是由这两个数字唯一表示的。在Java中一个char是16个bit,相当于两个字节,所以,两个汉字用char表示,在内存中会占用相当于4个字节的空间。
把这两个问题搞清楚后,我们看一下在Java web中哪些地方可能会存在编码转换。
用户从浏览器端发起一个Http请求,需要存在编码的地方是
U

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Think_Higher

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值