Html字符集整理

时间:2025-03-10 19:17:47

                               Html字符集

如需正确的显示HTML页面,浏览器必须知道使用的何种字符集

       全称“美国信息交换标准代码”,是7比特字符集,包含128个不同的字符集,万维网早期使用的,它只支持0-9,大写,小写的英文字母表,以及一些特殊字符。

2. ISO-8859-1   现代浏览器默认的字符集为“ISO-8859-1”,如果 网页使用不同于ISO-8859-1的字符,就应该在<meta>标签进行指定。

ISO字符集是国际标准组织针对不同的字母表/语言定义的标准字符集。

标准

  由于上面列出的字符集都有容量限制,而且不兼容多语言环境,Unicode 联盟开发了 Unicode 标准。Unicode 标准涵盖了世界上的所有字符、标点和符号。不论是何种平台、程序或语言,Unicode 都能够进行文本数据的处理、存储和交换

Unicode 联盟

Unicode 联盟开发了 Unicode 标准。他们的目标是用标准的 Unicode 转换格式 (UTF) 来取代现有的字符集。

Unicode 标准已经获得了成功,在 XML、Java、ECMAScript (JavaScript)、LDAP、CORBA 3.0、WML 中,Unicode 已经得到了实现。在许多操作系统以及所有的现代浏览器中,Unicode 同样得到了支持。

Unicode 联盟与领导性的标准发展组织进行合作,比如 ISO、W3C 以及 ECMA。

Unicode 可以被不同的字符集兼容。最常用的编码方式是 UTF-8 和 UTF-16:

UTF-8

UTF8 中的字符可以是 1-4 个字节长。UTF-8 可以表示 Unicode 标准中的任意字符。UTF-8 向后兼容 ASCIIUTF-8 是网页和电子邮件的首选编码。

UTF-16

16 比特的 Unicode 转换格式是一种 Unicode 可变字符编码,能够对全部 Unicode 指令表进行编码。UTF-16 主要被用于操作系统和环境中,比如微软的 Windows 2000/XP/2003/Vista/CE 以及 Java .NET 字节代码环境。

提示: 最前面的 256 个 Unicode 字符集字符对应于 256 个 ISO-8859-1 字符。

提示: 所有 HTML 4 处理器均已支持 UTF-8,而所有 XHTML 和 XML 处理器支持 UTF-8 和 UTF-16!

字符集只是一个规则集合的名字,

字符集字库表(character repertoire)、编码字符集(coded character set)、字符编码(character encoding form)。

字符编码:

字符编码,是编码字符集实际存储数值之间的转换关系。字符,是根据字符编码方案转换为一个二进制数值存储在计算机中的。

所以,字符编码是定义在字符集上的映射规则。(字符-------->计算机中的实际存储值)

 

Html的编码问题:

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

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

URL 编码使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符。

URL 不能包含空格。URL 编码通常使用 + 来替换空格。

 

URL 编码函数

JavaScriptPHPASP 都提供了对字符串进行URL编码的函数。

JavaScript 中使用 encodeURI() 函数PHP 中使用 rawurlencode() 函数,ASP 中使用 () 函数。

 

HTML语言代码

Iso语言代码

HTML lang 属性可用于声明网页或部分网页的语言。这对搜索引擎和浏览器是有帮助的。

根据 W3C 推荐标准,您应该通过 <html> 标签中的 lang 属性对每张页面中的主要语言进行声明,比如:

<html lang="en">
...
</html>

XHTML 中,采用如下方式在 <html> 标签中对语言进行声明:

<html xmlns="http:///1999/xhtml" lang="en" xml:lang="en">
...
</html>

English  使用en ,Chinese(简体)使用zh, Chinese(繁体)使用Zh

 

Http方法对比:GET对比Post

什么是 HTTP

超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。

HTTP 的工作方式是客户端与服务器之间的请求-应答协议。

web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。

举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。

两种 HTTP 请求方法:GET POST

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET POST

  • GET - 从指定的资源请求数据。
  • POST - 向指定的资源提交要被处理的数据。

GET 方法

请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:

/test/demo_form.php?name1=value1&name2=value2

有关 GET 请求的其他一些注释:

  • GET 请求可被缓存
  • GET 请求保留在浏览器历史记录中
  • GET 请求可被收藏为书签
  • GET 请求不应在处理敏感数据时使用
  • GET 请求有长度限制
  • GET 请求只应当用于取回数据

POST 方法

请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:

POST /test/demo_form.php HTTP/1.1
Host:
name1=value1&name2=value2

有关 POST 请求的其他一些注释:

  • POST 请求不会被缓存
  • POST 请求不会保留在浏览器历史记录中
  • POST 不能被收藏为书签
  • POST 请求对数据长度没有要求

比较 GET POST

下面的表格比较了两种 HTTP 方法:GET POST

 

GET

POST

后退按钮/刷新

无害

数据会被重新提交(浏览器应该告知用户数据会被重新提交)。

书签

可收藏为书签

不可收藏为书签

缓存

能被缓存

不能缓存

编码类型

application/x-www-form-urlencoded

application/x-www-form-urlencoded or multipart/form-data。为二进制数据使用多重编码。

历史

参数保留在浏览器历史中。

参数不会保存在浏览器历史中。

对数据长度的限制

是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。

无限制。

对数据类型的限制

只允许 ASCII 字符。

没有限制。也允许二进制数据。

安全性

POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。
在发送密码或其他敏感信息时绝不要使用 GET

POST GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。

可见性

数据在 URL 中对所有人都是可见的。

数据不会显示在 URL 中。

其他 HTTP 请求方法

下面的表格列出了其他一些 HTTP 请求方法:

方法

描述

HEAD

GET 相同,但只返回 HTTP 报头,不返回文档主体。

PUT

上传指定的 URI 表示。

DELETE

删除指定资源。

OPTIONS

返回服务器支持的 HTTP 方法。

CONNECT

把请求连接转换到透明的 TCP/IP 通道。