⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xml数据的编码方式.htm

📁 本文对xml 的数据编码方式进行了精简的介绍。
💻 HTM
📖 第 1 页 / 共 3 页
字号:
                <TD width="33%" bgColor=#eeeee>140</TD>
                <TD width="33%" bgColor=#eeeee>&#338;</TD>
                <TD width="34%" bgColor=#eeeee>&aring;</TD></TR>
              <TR vAlign=top>
                <TD width="33%" bgColor=#eeeee>229</TD>
                <TD width="33%" bgColor=#eeeee>&aring;</TD>
                <TD width="34%" bgColor=#eeeee>&Acirc;</TD></TR>
              <TR vAlign=top>
                <TD width="33%" bgColor=#eeeee>231</TD>
                <TD width="33%" bgColor=#eeeee>&ccedil;</TD>
                <TD width="34%" bgColor=#eeeee>&Aacute;</TD></TR>
              <TR vAlign=top>
                <TD width="33%" bgColor=#eeeee>232</TD>
                <TD width="33%" bgColor=#eeeee>è</TD>
                <TD width="34%" bgColor=#eeeee>&Euml;</TD></TR>
              <TR vAlign=top>
                <TD width="33%" bgColor=#eeeee>233</TD>
                <TD width="33%" bgColor=#eeeee>é</TD>
                <TD width="34%" bgColor=#eeeee>&Egrave;</TD></TR></TBODY></TABLE><BR>
            <P>比方说,如果您的祖母从 http://www.barnesandnoble.com/(英文)订购了一本新书,她不会想到她的 
            Macintosh 计算机存储<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>的方式,并不同于运行 www.barnesandnoble.com(英文)的新 Windows 
            2000 Web <A href="http://jizhuwo.com/System/Server/index.html" 
            target=_blank>服务器</A>。在往 Internet 订购单的发货栏中输入瑞典家中的地址时,她相信 Internet 
            会正确地传递<A href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A> <B>&aring;</B>(在其 Macintosh 上的字节值是 
            140),并没想到接收和处理她发送消息的计算机会将字节值 140 转换为字母 <B>&#338;</B>。</P>
            <H3>Unicode</H3>
            <P><A href="http://www.unicode.org/">Unicode 
            Consortium(统一码协会)</A>确信(用双字节而不是单字节表示每个<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>)定义一个通用的代码页是个好主意,该代码页适用于全世界所有的语言,从而不同代码页之间的映射问题将不复存在。</P>
            <P>既然如此,如果 Unicode 解决了跨平台的<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>编码问题,那为何它却未成为唯一的标准呢?第一个问题是,转换到 Unicode 
            有时意味着使所有的<A href="http://jizhuwo.com/Soft/Tools/File/index.html" 
            target=_blank>文件</A>大小加倍 — 这样做在<A 
            href="http://jizhuwo.com/Net/index.html" 
            target=_blank>网络</A>世界中是不可想象的。因此有人仍乐于使用老的、单字节的<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集,如 ISO-8859-1 到 ISO-8859-15、Shift-JIS、EUC-KR 
            等等。</P>
            <P>第二个问题是,仍存在许多并非基于 Unicode 的<A 
            href="http://jizhuwo.com/System/index.html" 
            target=_blank>系统</A>,这就意味着在<A 
            href="http://jizhuwo.com/Net/index.html" target=_blank>网络</A>上,某些组成 
            Unicode <A href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>的字节值可能会给那些更旧的<A 
            href="http://jizhuwo.com/System/index.html" 
            target=_blank>系统</A>造成严重问题。因此定义了“Unicode 转换格式 (UTF)”;它们运用位转换技术对 
            Unicode <A href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>进行编码,使其成为在老<A 
            href="http://jizhuwo.com/System/index.html" 
            target=_blank>系统</A>上“透明的”(或可安全通过)的字节值。</P>
            <P>此类<A href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>编码中最普及的是 UTF-8。UTF-8 采用 Unicode 标准的前 127 个<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>(它们恰好是基本的拉丁文<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>:A-Z、a-z 和 0-9,以及几个标点<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>),并直接将其映射到单字节值。然后采用位转换技术,用字节的高位来编码 Unicode <A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>的其余部分。这样做的结果是,小瑞典<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A> <B>&aring;</B> (0xE5) 变成了下列双字节乱码:<B>&Atilde;&yen;</B> (0xC3 
            0xA5)。所以,除非您能够在脑海里进行位转换,否则,在UTF-8 中编码的数据是无法被人读懂的。</P>
            <H3>Content-Type 标题</H3>
            <P>因为更旧的单字节<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集仍被使用,所以只有当指定了数据所在的实际<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集之后,传输数据的问题才能得以解决。认识到这一点后,Internet 电子邮件和 HTTP 
            协议小组定义了一种标准方法,用以在消息标题 <B>Content-Type</B> 属性中指定<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集。该属性从注册的<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集名称列表中指定一个<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集,该<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集名称是由 Internet Assigned Numbers Authority 
            (IANA)定义的。典型的 HTTP 标题都可能包含下列文本:</P><PRE class=clsCode>HTTP/1.1 200 OK
Content-Length: 15327
Content-Type: text/html; <B>charset:ISO-8859-1;</B>
Server: Microsoft-IIS/5.0
Content-Location: http://www.microsoft.com/Default.htm
Date: Wed, 08 Dec 1999 00:55:26 GMT
Last-Modified: Mon, 06 Dec 1999 22:56:30 GMT
</PRE>
            <P>该标题向应用<A href="http://jizhuwo.com/Dev/index.html" 
            target=_blank>程序</A>表明,跟在标题后面的内容位于 ISO-8859-1 <A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集中。</P>
            <H3>Content-Type 元标记</H3>
            <P><B>Content-Type</B> 属性是可选项,在有些应用<A 
            href="http://jizhuwo.com/Dev/index.html" target=_blank>程序</A>中,HTTP 
            标题的信息被去掉了,而只有 HTML 本身通过。为了补救这一点,HTML 标准小组定义了一种可选的元标记方法,用于指定 HTML 
            文档本身的<A href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集,使 HTML 文档<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集是自描述的。</P><PRE class=clsCode>&lt;META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"&gt;
</PRE>
            <P>在这种情况下,<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集 ISO-8859-1 说明在此特定的 HTML 页中,字节值 229 表示 
            <B>&aring;</B>。现在该页对任何<A href="http://jizhuwo.com/System/index.html" 
            target=_blank>系统</A>来说,都是完全清楚的,数据不会被曲解。遗憾的是,由于此元标记是可选的,所以它给错误留下了空子。</P>
            <H3><A href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>实体</H3>
            <P>不是所有的<A href="http://jizhuwo.com/System/index.html" 
            target=_blank>系统</A>支持所有的注册<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集。例如,我并不认为很多平台实际上可支持称为 EBCDIC 的 <A 
            href="http://www.ibm.com/" target=_blank>IBM</A> 主机<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集。Windows NT 是支持的,但许多其他<A 
            href="http://jizhuwo.com/System/index.html" 
            target=_blank>系统</A>很可能不支持 — 这大概就是 <A 
            href="http://www.ibm.com/">http://www.ibm.com/</A>(英文)主页为什么生成 ASCII 
            的原因。</P>
            <P>作为备选方案,HTML 允许通过指定确切的 Unicode <A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>值,对该页中的单个<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>进行编码。然后将这些<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>实体进行脱离<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集的分析,即可确切地确定其 Unicode 值。它的语法是 ?amp;#229;?or 
            ?amp;#xE5;?。</P>
            <H2><A name=xmlencodings_charenc>XML 和<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>编码</H2></A>
            <P>XML 从 HTML 那里借鉴了这些思想,并使之更进一步,定义了一个彻底明确的算法,以确定编码使用的<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集。在 XML 中,由 XML 声明中的可选编码属性定义<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>编码。下列算法确定默认的编码:</P>
            <P class=indent>如果<A 
            href="http://jizhuwo.com/Soft/Tools/File/index.html" 
            target=_blank>文件</A>以 Unicode 字节次序标志 [0xFF 0xFE] 或 [0xFE 0xFF] 
            开头,则认为该文档是在 UTF-16 编码中。否则,它在 UTF-8 中。 </P>
            <P>以下是所有正确和等效的 XML 文档:</P>
            <TABLE class=clsRef cellSpacing=2 cellPadding=5 width="98%" 
border=0>
              <TBODY>
              <TR vAlign=top>
                <TD width="28%" bgColor=#a6caf0><FONT class=90v><B><FONT 
                  class=90v><FONT size=2><A 
                  href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
                  target=_blank>字符</A>集或编码</FONT></B></FONT></FONT></TD>
                <TD width="32%" bgColor=#a6caf0><FONT class=90v><B><FONT 
                  class=90v><FONT size=2>HTTP 标题</FONT></B></FONT></FONT></TD>
                <TD width="40%" bgColor=#a6caf0><FONT class=90v><B><FONT 
                  class=90v><FONT size=2>XML 文档</FONT></B></FONT></FONT></TD></TR>
              <TR vAlign=top>
                <TD width="28%" bgColor=#eeeee><FONT class=90v><FONT class=90v 
                  size=2>ISO-8859-1</FONT></FONT></TD>
                <TD width="32%" bgColor=#eeeee><FONT class=90v 
                  size=2>Content-Type: text/xml; charset:ISO-8859-1;</FONT></TD>
                <TD width="40%" bgColor=#eeeee><FONT class=90v 
                  size=2>&lt;test&gt;&aring;lt;/test&gt;</FONT></TD></TR>
              <TR vAlign=top>
                <TD width="28%" bgColor=#eeeee><FONT class=90v 
                  size=2>UTF-8</FONT></TD>
                <TD width="32%" bgColor=#eeeee><FONT class=90v 
                  size=2>Content-Type: text/xml;</FONT></TD>
                <TD width="40%" bgColor=#eeeee><FONT class=90v 
                  size=2>&lt;test&gt;&Atilde;&yen;&lt;/test&gt;</FONT></TD></TR>
              <TR vAlign=top>
                <TD width="28%" bgColor=#eeeee><FONT class=90v 
                  size=2>ISO-8859-1</FONT></TD>
                <TD width="32%" bgColor=#eeeee><FONT class=90v 
                  size=2>Content-Type: text/xml;</FONT></TD>
                <TD width="40%" bgColor=#eeeee><FONT class=90v size=2>&lt;?xml 
                  version="1.0" 
                  encoding="ISO-8859-1"?&gt;<BR>&lt;test&gt;&aring;lt;/test&gt;</FONT></TD></TR>
              <TR vAlign=top>
                <TD width="28%" bgColor=#eeeee><FONT class=90v 
                  size=2>UTF-8(用<A 
                  href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
                  target=_blank>字符</A>实体)</FONT></TD>
                <TD width="32%" bgColor=#eeeee><FONT class=90v 
                  size=2>Content-Type: text/xml;</FONT></TD>
                <TD width="40%" bgColor=#eeeee><FONT class=90v 
                  size=2>&lt;test&gt;&amp;#229;&lt;/test&gt;</FONT></TD></TR>
              <TR vAlign=top>
                <TD width="28%" bgColor=#eeeee><FONT class=90v 
                  size=2>UTF-16(带字节次序标志的 Unicode)</FONT></TD>
                <TD width="32%" bgColor=#eeeee><FONT class=90v 
                  size=2>Content-Type: text/xml;</FONT></TD>
                <TD width="40%" bgColor=#eeeee><FONT class=90v size=2>ff fe 3c 
                  00 74 00 65 00 73 00 74 00 3e 00 e5 00 
                  ..&lt;.t.e.s.t.&gt;...<BR>3c 00 2f 00 74 00 65 00 73 00 74 00 
                  3e 00 0d 00 &lt;./.t.e.s.t.&gt;...<BR>0a 
              00</FONT></TD></TR></TBODY></TABLE><BR>
            <H2><A name=xmlencodings_msxmldom><A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>集和 MSXML DOM</H2></A>
            <P>现在,讨论过不同的<A 
            href="http://jizhuwo.com/Dev/Programme/VC/Str/index.html" 
            target=_blank>字符</A>编码方法之后,让我们来看看如何在 MSXML DOM 中加载 XML 
            文档,以及当碰到模糊编码的<A 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -