Unicode和UTF系列(5)

本文介绍了ASCII和ISO8859-1两种字符编码标准的特点及其应用范围。阐述了ASCII码如何扩展成为ISO8859-1(也称Latin-1),并解释了application/x-www-form-urlencoded编码方式的工作原理及其在网络传输中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ASCII和ISO 8859-1
ISO 8859-1就比较简单了,我们知道ASCII码是从0x00到0x7F,也就是还有1位没有用到,ISO 8859-1就是在空置的0xA0-0xFF的范围内,加入192个字母及符号,藉以供使用变音符号的拉丁字母语言使用。所以ISO 8859-1又称Latin-1。

其他编码
这里"编码"的含义与以上不同,并不是指字符集的编码,而是一种对文本加工处理的编制方式。因为在开发过程中,也会经常遇到,所以一并介绍。

application/x-www-form-urlencoded

我们在提交表单的时候,常常会看到形如http://localhost:6888/aomstudy/Servlet1?name=%D6%D0%B9%FA
这样的地址,这些就是application/x-www-form-urlencoded格式编码后的字符串。包括用POST提交表单内容默认是使用这种编码方式。另一种是multipart/form-data,用于有大量非ASCII码文本或二进制数据时,因为这时使用application/x-www-form-urlencoded需要大量的转换,需要耗费太多时间。
为什么需要这个application/x-www-form-urlencoded编码?我还不是很明白。个人猜测是:以下规则提到的安全字符都是7位的ASCII字符,虽然HTTP协议支持任意字符,但由于历史原因,在HTTP传输过程,只能保证这7位是安全的,也就是说不被当作其他用途,比如用作控制符等。
application/x-www-form-urlencoded的编码规则如下:
1.字母数字字符 "a" 到"z"、"A"到 "Z" 和 "0" 到"9" 保持不变。
2.特殊字符 "."、"-"、"*" 和"_" 保持不变。
3.空格字符 " " 转换为一个加号"+"。
4.所有其他字符都是不安全的,因此首先使用一些编码机制将它们转换为一个或多个字节。然后每个字节用一个包含3个字符的字符串"%xy" 表示,其中 xy 为该字节的两位十六进制表示形式。
注:以上URL中使用的是GBK编码,原文是http://localhost:6888/aomstudy/Servlet1?name=中国
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值