什么是XML编码?

时间:2011-04-14 09:51:37

标签: xml encoding utf-8 xsd

XML中的编码是什么?使用的正常编码是utf-8。它与其他编码有什么不同?使用它的目的是什么?

4 个答案:

答案 0 :(得分:9)

A character encoding指定字符如何映射到字节。由于XML文档作为字节流存储和传输,因此必须表示构成XML文档的unicode字符。

UTF-8被选为默认值,因为它有几个优点:

  • 它与ASCII兼容,因为所有有效的ASCII编码文本也是有效的UTF-8编码(但不一定是相反的方式!)
  • 每个字符只使用1个字节用于“普通”字母(也存在于ASCII中)
  • 它可以代表所有现有的Unicode字符

字符编码是一个比XML更普遍的主题。 UTF-8 仅限于在XML中使用。

What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text是一篇很好的文章,可以很好地概述该主题。

答案 1 :(得分:4)

首次创建计算机时,他们大多只使用英语中的字符,从而产生7位US-ASCII标准。

但是,世界上有许多不同的书面语言,必须找到能够在计算机中使用它们的方法。

第一种方法可以正常工作,如果你限制自己使用某种语言,那就是使用特定于文化的编码,例如ISO-8859-1,它能够代表8位的拉丁欧语言字符,或GB2312对于汉字。

第二种方式有点复杂,但理论上允许表示世界上的每个字符,它是Unicode标准,其中每种语言的每个字符都有一个特定的代码。 但是,鉴于现有字符数很多(Unicode 5中为109,000),unicode字符通常使用三字节表示形式表示(Unicode平面为一个字节,字符代码为两个字节。

为了最大限度地兼容现有代码(有些代码仍使用ASCII格式),UTF-8标准编码被设计为一种存储Unicode字符的方式,只使用最小的空间,如Joachim Sauer所述。答案。

因此,如果文件只是由仅仅了解这些语言的软件(和人)编辑或读取,则通常会看到使用特定字符集编码的文件(如ISO-8859-1),以及UTF-8需要具有高度互操作性和文化独立性。 目前的趋势是UTF-8替换其他字符集,即使它需要软件开发人员的工作,因为UTF-8字符串处理比固定宽度字符串字符串更复杂。

答案 2 :(得分:2)

XML文档可以包含非ASCII字符,例如挪威语æøå或法语êèé。因此,为了避免错误,您可以设置编码或将XML文件保存为Unicode。

XML Encoding Rules

答案 3 :(得分:1)

当存储或传输数据时,它只是字节。这些字节需要一些解释。具有非英语语言环境的用户过去常常遇到只出现在其语言环境中的字符的问题。这些角色经常以错误的方式显示。

XML具有如何解释其字节字符的信息,可以正确的方式显示。