什么是ANSI编码格式?它是一个系统默认的格式?在什么方式不同ASCII?

有帮助吗?

解决方案

ANSI编码是一个轻微的通用术语,用来指向的标准代码的网页上一个系统,通常窗。它是更适当地被称为 Windows-1252 在西/美国系统。(它可以代表某些其他的 窗户代码的网页 在其它系统。) 这基本上是一个 扩展的ASCII character set 在于,它包括所有ASCII字与一个附加128个字符的密码。这种差异是由于一个事实,即"ANSI"编码是8点而不是7位作为ASCII码是(ASCII几乎总是编码现在作为8位字节的 MSB 设定为0)。看到这篇文章对于解释为什么这个编码通常称为ANSI。

名为"ANSI"是用词不当,因为它并不对应于任何实际ANSI标准,但这个名字已经卡住了。ANSI是不一样的UTF-8。

其他提示

从技术上讲,ANSI应该是相同的如US-ASCII。它指的是ANSI X3.4标准,这简直就是 ANSI 组织的批准ASCII的版本。顶部位的字符集的使用不以ASCII定义/ ANSI,因为它是一个7位的字符集。

不过年被DOS和视窗随后社区术语的滥用留下了它的实际含义为“正在使用的任何计算机的系统代码页”。该系统代码页有时也被称为“MBCS”,由于在东亚系统,其可以是多字节每字符编码。某些代码页甚至可以使用顶部位明确字节中的多字节序列尾随字节,所以它不是甚至普通的ASCII严格兼容...但即便如此,它仍然被称为“ANSI”。

在美国和西欧的默认设置,“ANSI”映射到Windows代码1252页这是不一样的ISO-8859-1(虽然它是非常相似)。在其它机器上它可能是在所有其他东西。这使得“ANSI”完全无用的作为外部编码标识符

严格地说,没有这样的事情ANSI编码。俗语ANSI是用于几个不同的编码:

  1. ISO8859-1
  2. Windows CP1252
  3. 目前的系统编码在Windows的机器(在Win32API术语).

曾几何时Microsoft,像其他人一样,使用的7位字符组,他们发明了自己当它适合他们,虽然他们保持ASCII作为核心的子集。然后他们意识到世界已有8位编码和有国际标准,例如ISO-8859家庭。在那些日子,如果你想抓住一个国际标准和你生活在我们的,你买了它从美国国家标准研究所、ANSI,他再版国际标准与他们自己的品牌和数字(这是因为美国政府想要符合美国的标准,不是国际标准)。因此微软的副本ISO-8859说"ANSI"。因为Microsoft不是非常使用的标准在那些日子里,他们没有意识到ANSI发表的许多其他标准。所以他们称的标准ISO-8859家(和变异,他们发明的,因为他们并没有真正了解的标准在那些日子里)通过在名称上的复盖,"ANSI",并找到方法进入微软用户文档,并因此进入的用户群体。这是大约30年前,但你仍然有时听到这个名字今天。

ASCII 只是限定了与128个符号7位代码页。 ANSI延伸这对8位和存在用于符号128到255多个不同的代码的页面。

在命名ANSI是不正确的,因为它实际上是ISO / IEC 8859标准定义此代码页。请参见 ISO / IEC 8859 以供参考。有16个代码页ISO / IEC 8859-1到ISO / IEC 8859-16。

视窗1252 是再次基于ISO / IEC 8859-1经过一些修改主要是在范围为128设置以159.维基百科 C1控制的范围规定,Windows的1252也refered为ISO-8859-1与ISO和8859.之间的第二连字符(难以置信!谁做这样的事情?!?)

基本上“ANSI”指的是在Windows上遗留代码页。另请参见雷蒙德陈一篇关于这个话题的。第一127个字符是相同的ASCII在大多数代码页,上字符而改变,虽然。

但是,ANSI不的自动意味着CP1252或拉丁1。

所有的困惑,尽管你应该简单地避免这样的问题,现在和使用Unicode。

只是在你的电脑是不是一个"西方"电脑,你不知道这代码页面是用,你可以看看这页: 国家支持语言(塞尔维亚国家图书馆)API Reference

[微软除此参照,把它形成网络的档案 国家支持语言(塞尔维亚国家图书馆)API Reference

或者你可以查询你的注册表中:

C:\>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage /f ACP

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
    ACP    REG_SZ    1252

End of search: 1 match(es) found.

C:\>

当使用单字节字符时,ASCII格式限定第一127个字符。从128-255扩展的字符由不同的ANSI代码页定义为允许用于其他语言的支持有限。为了使一个ANSI编码字符串的感觉,你需要知道它使用代码页。

我记得当“ANSI”文中提到的可在DOS下通过ANSI.SYS驱动伪VT-100转义符来改变流文本流....也许不是你指的是,但如果它是请参阅 http://en.wikipedia.org/wiki/ANSI_escape_code

ANSI (aka Windows-1252/WinLatin1)是一字符编码的拉丁字母,相当的相似 ISO-8859-1.你可能会想看看的 它在维基百科.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top