内容提要

  • 本章主要讲解了http协议在传输的过程中,如何彼此理解对方发送的内容是采用什么字符集编写的,从而彼此能够进行正确的显示内容!由此介绍了相关的报文首部。

HTTP对国际性内容的支持

  • 服务器通过HTTP协议的Content-Type首部中的charset参数和Content-Language首部告知客户端文档的字母表和语言。

字符集和HTTP

  • 字符集是把字符转换为二进制码的编码,字符集标记在由IANA维护的MIME字符集注册机构进行了标准化。下面的Content-Type首部告知接收者,传输的内容是一份HTML文件,用charset参数告知接收者使用iso-8859-6阿拉伯字符集的解码算法把内容中的二进制码转换为字符:
  1. Content-Type: text/html; charset=iso-8859-6
  • 把二进制码转换为字符要经过两个步骤:

1、文档中的二进制码被转换成字符代码,它表示了特定编码字符集中某个特定编号的字符。

2、字符代码用于从编码的字符集中选取特定的元素。如在iso-8859-6中,值255对应阿拉伯字母“FEH”。

  • 不同的字符集相同的字符代码其字符不一定相同:如获得字符代码是225,那么字符集iso-8859-1和字符集iso-8859-2所代表的字符就不一样。

Content-Type首部和Charset首部以及META标志

  • 如果在Content-Type首部中没有指定charset字符集,那么浏览器就会重文档内容的meta标签查找对应的字符集。

多语言字符编码入门

  • 字符集术语:

1、字符是指字母、数字、标点、表意文字、符号,或其它文本形式的书写‘原子’

2、字形描述字符的笔画图案或唯一的图形化形状

3、编码后的字符分配给字符的唯一数字编号,这样我们就可以操作它了

4、代码空间:计划用于字符代码值的整数范围

5、代码宽度:每个(固定大小的)字符代码所用的位数

6、字符库:特定的工作字符集(全体字符的一个子集)

7、编码后的字符集:组成字符库(从全球的字符中选出若干字符)的已编码字符集,并为每个字符分配代码空间中的一个代码

8、字符编码方案:把数字化的字符代码编码成一系列二进制码的算法

  • MIME中的charset值所命名的是把数据位映射为唯一的字符的一整套算法。它是字符编码方案和编码后的字符集这两种概念的组合。

  • 字符是书写的最基本的构建单元。不要把字符和字形混淆,字符是唯一的、抽象的语言“原子”。字形是画出每个字符时使用的特定方式。根据艺术形式和手法的不同,每个字符可以有很多不同的字形。如果用一种字形替代另一种的时候,文本的意思变了,那这些字形就是不同的字符。否则,它们就是同一个字符的不同风格的表示形式而已。

  • 字符编码方案:

1、固定宽度:固定宽度方式的编码用固定数量的比特表示每个编码后的字符。它们能被快速处理,但可能会浪费空间

2、可变宽度(无模态):可变宽度方式的编码对不同的字符代码数字采用不同数量的比特。对于常用字符,这样可以减少需要的位数,而且还能减少需要的位数,而且还能在允许使用多字节来表示国际性字符的同时,保持对传统8位字符集的兼容性。

3、可变宽度(有模态):有模态的编码使用特殊的“转义”模式在不同的模态之间切换。例如,可以用有模态的编码在文本中使用多个互相有重叠的字符集。有模态的编码处理起来比较复杂,但它们可以有效地支持复杂的书写系统。

语言标记与HTTP

  • Content-Lenguage首部字段描述实体的目标受众语言。Accept-Language首部描述的是客户端能或优先接收的语言。两个首部都接收多个语言标记。

更多内容