ASNI 、Smalltalk 等概念

来源:互联网 发布:我做淘宝客怎么找商家 编辑:程序博客网 时间:2024/06/06 19:24

不同的国家和地区制定了不同的标准,由此产生了 GB2312GBKBig5Shift_JIS等各自的编码标准。这些使用 1 4个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI编码。在简体中文Windows操作系统中,ANSI编码代表 GBK 编码;在日文Windows操作系统中,ANSI编码代表 Shift_JIS 编码。不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI编码的文本中。 当然对于ANSI编码而言,0x00~0x7F之间的字符,依旧是1个字节代表1个字符。这一点是ASNI编码与Unicode编码之间最大也最明显的区别。


ANSIAmerican National Standards Institute),中文:美国国家标准学会。

为使计算机支持更多语言,通常使用 0x80~0xFF范围的多个字节来表示 1个字符。比如:汉字 ''在简体中文Windows操作系统中,使用 [0xD6,0xD0]这两个字节存储。对于ANSI编码而言,0x00~0x7F之间的字符,依旧是1个字节代表1个字符。这一点是ANSI编码与UTF-16编码之间最大也最明显的区别。比如“A君是第131,在ANSI编码中,占用12个字节,而在UTF-16编码中,占用16个字节。因为A1314个字符,在ANSI编码中只各占1个字节,而在UTF-16编码中,是需要各占2个字节的。


很多细心的人会发现,新建一个空的文本文件,用记事本打开(必须是Windows自带的记事本),只输入联通二字保存关闭,再重新打开时将是乱码。

txt文档中一切字符都在 C0≤AA第一个字节≤DF 80≤BB第二个字节≤BF 这个范围时,notepad都无法确认文档的格式,自动依照UTF-8格式来解码。"联通"就是C1 AA CD A8,刚好在上面的范围内,所以不能正常显现。

记事本默认是以ANSI编码保存文本文档的,而正是这种编码存在的bug招致了上述怪现象。假如保存时选择UnicodeUnicode (Big Endian)UTF-8编码,就正常了。此外,假如以ANSI编码保存含有某些特别符号的文本文档,再次打开后符号也会变成英文问号。



Smalltalk被公认为历史上第二个面向对象的程序设计语言和第一个真正的集成开发环境 (IDE) Smalltalk对其它众多的程序设计语言的产生起到了极大的推动作用,主要有:Objective-CActor Java Ruby等。90年代的许多软件开发思想得利于Smalltalk,例如Design Patterns Extreme Programming(XP)Refactoring等。

20世纪70年代到80年代前期,美国施乐公司的帕洛阿尔托研究中心(PARC)开发了Smalltalk编程语言。从Smalltalk-72Smalltalk-78Smalltalk-80,他们开发完成了整个Smalltalk系列,Smalltalk编程语言对近代面向对象编程语言影响很大,所以称之为面向对象编程之母。(此段摘自《松本行宏的程序世界》)


0 0
原创粉丝点击