编码的一些问题

来源:互联网 发布:时空魔域 知乎 编辑:程序博客网 时间:2024/05/21 14:07
编码问题


先从一个简单的编码说起


URL编码

URL只允许使用ASCII字符集中的可打印字符 (0x20 ~ 0x7e).【我也才注意到ASCII字符前面那一大块表示的字符是控制字符】。

但就算在这些可打印字符中,也有一些由于URL方案或HTTP协议中具有特殊含义,所以是不能直接写在URL中的。 这就需要用到URL编码了。

常见的有:

= %3d

% %25

空格 %20

新行 %0a

空字节 %00

值得一提的是 加号(+)  也可以代表空格(和%20地位相当)。

这里其实也是 用 % 后面接上那些字符的ASCII的十六进制值。


HTML编码

有许多字符具有特殊的含义,并被用于定义文档结构而非其内容。

通俗来说,html页面中不是以一对闭合的尖括号表示一个单位吗?<p></p> <body></body>等等。。。

那如果我想在我的页面上 显示一串符号,比如   <h1>i am the content</h1> 

如果你直接在html代码中这样写,好吧,会显示加粗变大的 i am the content。 那我确实想输出 两个尖括号和其中的内容怎么办呢。这时候 就需要对 小于号< 大于号> 进行编码,让浏览器知道它不是代表html的一个结构边界符号,而是小于号大于号本身。有点啰嗦,但肯定明白了。。


有意思的是 我在代码里面  这样写  <h1><</h1> 在我以往的记忆来看,我没有对中间的小于号进行编码,应该报错才对,不过,我在几个浏览器都试了,浏览器会原样输出 那个变大加粗的 小于号。



1 任何字符都可以使用它的十进制ASCII码进行HTML编码。

&#34 代表

&#39 代表

2 任何字符都可以使用它的十六进制ASCII码进行HTML编码。

&#x22 代表

$#x27 代表



Unicode编码

这个Unicode编码曾经让我迷糊了好久,现在我用自己理解的写出来,有错请指正。

众所周知,电脑在硬件处只能识别0和1,更进一步说电脑只能识别数字。BUT,我们接触的最多的还是字母和符号呀,那怎么让机器也识别我们想要表达的符号呢?那么字符编码应运而生,我们把字母和一些常用的符号 逐个编订一些序号,如A是65号,a是97号等等。这样,我把65号输入进入计算机,在输出的时候,机器识别出这个65号是字母A,就直接把A输出给我们看(当然整个过程没有那么简单)。这个号码与字母字符的对应关系,就是大名鼎鼎的ASCII码表了。

但是,随着中国和一些其他非英文语言的国家的崛起,大家发现26个英文字母无法表达中国的语言或者阿拉伯的语言。这就诞生了统一化的Unicode编码(当然也有其他针对各国语言的编码,如GBK),和ASCII码表异曲同工,Unicode编码也是将我们需要表达的汉字逐一编码,让机器看到编码就能知道我们是想写哪个汉字。

OK,其实说白了,你可以理解unicode编码是对ASCII编码的一种扩展,就是把一些汉字和其他语言的文字加入进来,让电脑能读懂。

好吧,总归一句,不管是ASCII还是Unicode,都是给字母或者文字一个数字,让这个数字在计算机的世界里面代表这个字母或者文字,接下来就是各种表示这个数字的方法罢了,有二进制,十进制,十六进制等等。。


 

16Unicode编码,就是规定了开头为%u,后面的十六进制数代表一个数,这个数的unicode表值对应什么就是什么。

%u2215 表示 / 。

utf-8编码。什么又是我们耳熟能详的utf-8编码呢。事情的原委是这样的,不是随着中国的强大,汉字也被编表了,让外国人也能用了吗?想想看,汉字的数量那是老美26个字母能比拟的吗?所以,如果要把汉字和其他语言文字编制入表,就必定要用很大的数来表示,落实到机器语言,就是需要很多位,很多字节来表示(最大到了6个字节)。那老美就不高兴了,我英文字母到ASCII码(unicode码)122就用完了,后面的编码都是你们汉字的,我如果用那么大的字节表示我一个英文字母,那多浪费空间和资源呀。比如表示一个a前面要带超级多个0......

于是,长度可变的utf8出现了。它用一个或几个字节表示每个字符。为通过HTTP进行传输,UTF-8编码的多字节字符以%为前缀,其后用十六进制表示每个字节。


十六进制编码

就是将字符的编码号用十六进制的方式表示出来。

如 daf   对应   646166。


虽然啰嗦,但这是我从啥也不懂的小白慢慢学习过来的历程。~

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 橘子平台下载速度慢怎么办 换手机号了支付宝账号怎么办 怀孕期间脚扭了怎么办 买了临街房后悔怎么办 绝地求生困在废车里怎么办 身体出现辅助睡眠状态怎么办 扁桃体发炎喉咙痒咳嗽怎么办 电脑玩英雄杀卡怎么办 康佳冰箱显示2e怎么办 高考登陆系统登录密码错误怎么办 苹果遇到ad登录问题怎么办? 小孩2天不拉屎怎么办 20天宝宝不大便怎么办 小孩几天不拉大便怎么办 宝宝经常不拉大便怎么办 宝宝便秘 肛裂了怎么办 3个月宝宝不便便怎么办 宝宝8个月不便便怎么办 宝宝在幼儿园不爱说话怎么办 广东学考考了d怎么办 上嘴唇干燥紧绷怎么办 美国大学gpa非常低怎么办 大学手机作弊通报教务处怎么办 崩坏3邮箱验证码过期怎么办 快递员被顾客恶意投诉怎么办 5岁幼儿逻辑思维差怎么办 脸一边胖一边瘦怎么办 夏天穿鞋子脚痒怎么办 脚痒怎么办但不是脚气 脚气脚趾缝烂了怎么办 凉鞋穿久了臭怎么办 运动鞋穿久了臭怎么办 体恤穿久了发臭怎么办 十七八岁青少年逆反心理怎么办 挨刚煮好的粥烫伤改怎么办? 5e的demo有水印怎么办 宝宝湿疹激素一停药复发怎么办 木工家装没事做怎么办 取票之后票丢了怎么办 补牙咬合低了点怎么办 留学生上美国网课上不了网怎么办