什么是ANSI编码格式?它是系统默认格式吗? 它和ASCII有什么不同?


当前回答

我记得当“ANSI”文本引用伪VT-100转义码通过ANSI在DOS中可用。SYS驱动程序来改变流文本....可能不是你指的,但如果是,请参阅http://en.wikipedia.org/wiki/ANSI_escape_code

其他回答

ANSI(又名Windows-1252/WinLatin1)是拉丁字母的字符编码,非常类似于ISO-8859-1。 你可以去维基百科上看看。

基本上“ANSI”指的是Windows上的遗留代码页。请参阅Raymond Chen关于此主题的文章:

这是因为Windows代码页1252最初是基于ANSI草案,后来成为ISO标准8859-1。

在大多数代码页中,前127个字符与ASCII相同,但上面的字符有所不同。

然而,ANSI并不自动表示CP1252或拉丁1。

尽管有很多困惑,但您现在应该简单地避免这些问题,并使用Unicode。

我记得当“ANSI”文本引用伪VT-100转义码通过ANSI在DOS中可用。SYS驱动程序来改变流文本....可能不是你指的,但如果是,请参阅http://en.wikipedia.org/wiki/ANSI_escape_code

当使用单字节字符时,ASCII格式定义了前127个字符。128-255的扩展字符由各种ANSI代码页定义,以允许对其他语言的有限支持。为了理解ANSI编码的字符串,您需要知道它使用哪个代码页。

ASCII只是定义了一个有128个符号的7位代码页。ANSI将其扩展到8位,并且对于符号128到255有几个不同的代码页。

命名ANSI是不正确的,因为它实际上是定义此代码页的ISO/IEC 8859规范。参考ISO/ iec8859。从ISO/IEC 8859-1到ISO/IEC 8859-16共有16个代码页。

Windows-1252也是基于ISO/IEC 8859-1进行了一些修改,主要是在C1控件的范围内设置为128到159。维基百科指出,Windows-1252也被称为ISO-8859-1,在ISO和8859之间有第二个连字符。(难以置信!谁会做这种事?!?)