字符编码笔记

HTML实体用于编码特殊字符,如小于号(<)和大于号(>),防止浏览器误解。Unicode编码,特别是UTF-8,是一种变长编码方式,用于表示各种语言的字符。URL编码确保非ASCII字符能在网络传输中正确表示,通常使用%加十六进制ASCII码。HTML解析器处理标签和字符引用,如在textarea和title元素中只允许文本和字符引用。
摘要由CSDN通过智能技术生成

html实体编码

        HTML实体编码,格式 以&符号开头,以;分号结尾的

        HTML 中的预留字符必须被替换为字符实体

        在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。(<:&lt;   >:&gt;)

        HTML 中的常用字符实体是不间断空格(&nbsp;)。浏览器总是会截短 HTML 页面中的空格。如果您在文本中写 10 个空格,在显示该页面之前,浏览器会删除它们中的 9 个。如需在页面中增加空格的数量,则需要使用 &nbsp; 字符实体。        

unicode编码,UTF-8

        UTF-8 编码是 Unicode 字符集的一种表达方式。每个字符有一个 Unicode 号码,称为码点。如果知道码点,就能查到这是什么字符。字符的码点表示法是&#N;(十进制,N代表码点)或者&#xN;(十六进制,N代表码点),比如,字符a可以写成&#97;(十进制)或者&#x61;(十六进制),字符可以写成&#20013;(十进制)或者&#x4e2d;(十六进制),浏览器会自动转换它们。

        Unicode字符编码,格式: 以符号&#开头,分号;结尾

        UTF-8 最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

        UTF-8 的编码规则很简单,只有二条:

                1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。

                2)对于n字节的符号(n > 1),第一个字节的前n位都设为1,第n + 1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码

         跟据上表,解读 UTF-8 编码非常简单。如果一个字节的第一位是0,则这个字节单独就是一个字符;如果第一位是1,则连续有多少个1,就表示当前字符占用多少个字节。

url字符

        URL 编码将字符转换为可通过因特网传输的格式。

        URL 只能使用 ASCII 字符集 通过因特网进行发送。

                26个英文字母(大小写),10个阿拉伯数字,连词号(-),句点(.),下划线(_)

        由于 URL 通常包含 ASCII 集之外的字符,因此必须将 URL 转换为有效的 ASCII 格式。

        URL 字符转义的方法是,在这些字符的十六进制 ASCII 码前面加上百分号(%)。

        URL 不能包含空格。URL 编码通常使用加号(+)或 %20 替代空格。

 

一个HTML解析器作为一个状态机,在解析过程中,任何时候遇到一个<后面没有跟/,就会进入标签开始状态,然后转到标签名状态,签属性名状态,最好进入数据状态并释放出当前标签的token,当解析器处于数据状态时会继续解析,但是遇到&等字符引用,解析了这个字符后不会再转变到标签开始状态。

RCDTAT元素 <textarea>和<title>  只能容纳文本和字符引用

原始文本元素 <script>和<style>可以容纳文本

解析顺序 html---->urlcode---->javascript

在js标签下 可以执行unicode但不能编码符号数字  可以有换行符\u00a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值