什么是ANSI,ANSI编码,ANSI C

 

ANSI

全称是:American National Standard Institite
中文译名: 美国国家标准协会

    美国国家标准协会,由公司、政府和其他成员组成的自愿组织。它们协商与标准有关的活动,审议美国国家标准,并努力提高美国在国际标准化组织中的地位。此外,ANSI使有关通信和网络方面的国际标准和美国标准得到发展。ANSI是IEC和ISO的成员之一。

 


ANSI编码

 

    为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符。比如:汉字 '中' 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。

    不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。

    不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。

 


ANSI C

 

    C语言起源于1969年Ken Thompson开发的B语言,后来D.M.Ritchie于1971年在B语言的基础上开发了NEW B语言,也就是我们现在说的C语言。最初,C语言的主要客户是编译器设计者,这也就是为什么“数组是从0开始而不是从1开始的原因”(其实还有许多为编译器设计者设计的特性)。1973年Ken Thompson和D.M.Ritchie将UNIX用C语言重写(原来是用汇编语言实现的),UNIX第5版诞生,从此UNIX就和C语言成了孪生兄弟。

    不久,C语言越来越受欢迎。1978年Brian W.Kernighan和D.M.Ritchie以Steve Johnson编写的PCC这个C语言编译器(后来这个编译器被广泛移植)为基础,编著了《The C Programming Language》(简称TCPL),人们把这个C语言版本成为K&R C。

    20世纪80年代,C语言广泛流行,动摇了BASIC的地位。许多人为其写变种,各种C版本涌出。因为C语言没有一个统一的标准,导致了它的代码无法在各种编译器上实现,C语言受到了变种松散的威胁——因此C语言必须进行标准化,1983年美国国家标准化组织(ANSI)成立了C语言工作小组,开始对C进行标准化,1989年12月ANSI C最终被ANSI委员会接纳(我们学习C语言应该学习标准化后的C语言版本)。1990年国际标准化组织(ISO)也接纳了ANSI C,并做了一些小的修改,也就形成了ISO C。1990年初,ANSI委员会重新接纳了ISO C。

    因此ANSI C(ISO C)是C语言进行标准化后的产物,现在所有的编译器都应该符合ANSI C(ISO C)标准,我们学习的C语言应该也是ANSI C(ISO C)。

你可能感兴趣的:(编译器)