04 # HTML 字符编码

简介: 04 # HTML 字符编码

说明

网道HTML 教程学习笔记



1、简介

浏览器必须知道文字的编码方法,才能把文字还原出来。


一般情况下,服务器向浏览器发送 HTML 网页文件时,会通过 HTTP 头信息,声明网页的编码方式。

Content-Type: text/html; charset=UTF-8


上面的 HTTP 头信息的 Content-Type 字段先声明,服务器发送的数据类型是 text/html(即 HTML 网页),然后声明网页的文字编码是 UTF-8


网页内部也会在 meta 标签,再次声明网页的编码。

<meta charset="UTF-8">



2、字符的数字表示法


2.1、简介

Unicode 字符集设计目标是包含世界上的所有字符,目前已经收入了十多万个字符。最常用的编码是UTF-8 编码,就是 Unicode 字符集的一种表达方式。


2.2、码点

每个字符有一个 Unicode 号码,称为码点(code point)。


2.3、注意

不是每一个 Unicode 字符都能直接在 HTML 语言里面显示。


原因如下:


   1、不是每个 Unicode 字符都可以打印出来,有些没有可打印形式,比如换行符的码点是十进制的10(十六进制的A),就没有对应的字面形式。


   2、小于号(<)和大于号(>)用来定义 HTML 标签,其他需要用到这两个符号的场合,必须防止它们被解释成标签。


   3、由于 Unicode 字符太多,无法找到一种输入法,可以直接输入所有这些字符。换言之,没有一种键盘,有办法输入所有符号。


   4、网页不允许混合使用多种编码,如果使用 UTF-8 编码的同时,又想插入其他编码的字符,就会很困难。



2.4、码点转成对应的字符


HTML 为了解决上面这些问题,允许使用 Unicode 码点表示字符,浏览器会自动将码点转成对应的字符。


字符的码点表示法是:(浏览器会自动转换它们。)


   &#N;(十进制,N代表码点),比如 a 可以写成 &#97;,字符 中 可以写成 &#20013;;

   &#xN; (十六进制,N代表码点),比如 a 可以写成 &#x61;,字符 中 可以写成 &#x4e2d;;

例子:hello 的不同写法


这里需要注意一点:<p>标签不能写成 <&#112;>, 浏览器会把其当做文本内容。

<p>hello</p>
<!-- 等同于 -->
<p>&#104;&#101;&#108;&#108;&#111;</p>
<!-- 等同于 -->
<p>&#x68;&#x65;&#x6c;&#x6c;&#x6f;</p>



3、字符的实体表示法


3.1、简介

上面的数字表示法的不方便之处,在于必须知道每个字符的码点,不方便记忆。

HTML 为一些特殊字符,规定了容易记忆的名字,允许通过名字来表示它们,这称为实体表示法(entity)。


3.2、实体的写法

实体的写法是 &name;,其中的 name 是字符的名字。

其中一些特殊字符,及其对应的实体。


   <:&lt;

   >:&gt;

   ":&quot;

   ':&apos;

   &:&amp;

   ©:&copy;

   #:&num;

   §:&sect;

   ¥:&yen;

   $:&dollar;

   £:&pound;

   ¢:&cent;

   %:&percnt;

   *:$ast;

   @:&commat;

   ^:&Hat;

   ±:&plusmn;

   空格:&nbsp;


字符的数字表示法和实体表示法,都可以表示正常情况无法输入的字符,逃脱了浏览器的限制,所以英语里面称为escape,中文翻译为字符的转义。






目录
相关文章
|
资源调度 uml
HTML特殊字符编码对照表
HTML特殊字符编码对照表 特殊符号 命名实体 十进制编码 特殊符号 命名实体 十进制编码 特殊符号 命名实体 十进制编码 Α &Alpha; &#913; Β &Beta; &#914; Γ &Gamma; &#915; Δ &Delta; &#916; Ε &Epsilon; &#917;.
1184 0
|
17天前
|
前端开发 JavaScript 开发工具
【HTML/CSS】入门导学篇
【HTML/CSS】入门导学篇
23 0
|
8天前
|
数据采集 前端开发 网络协议
如何使用代理IP通过HTML和CSS采集数据
如何使用代理IP通过HTML和CSS采集数据
|
12天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
18 1
|
12天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
19天前
|
JSON JavaScript 前端开发
js是什么、html、css
js是什么、html、css
|
20天前
|
XML 前端开发 JavaScript
css和html
【4月更文挑战第7天】css和html
13 0
|
25天前
|
人工智能 前端开发 JavaScript
【前端设计】HTML+CSS+JavaScript基本特性
【前端设计】HTML+CSS+JavaScript基本特性