王朝百科
分享
 
 
 

扩展ASCII

王朝百科·作者佚名  2010-01-04  
宽屏版  字体: |||超大  

在小型电脑开发的初期,就已经严格地建立了8位元位元组。因此,如果使用一个位元组来保存字元,则需要128个附加的字元来补充ASCII。1981年,当最初的IBM PC推出时,视讯卡的ROM中烧有一个提供256个字元的字元集,这也成为IBM标准的一个重要组成部分。

最初的IBM扩展字元集包括某些带重音的字元和一个小写希腊字母表(在数学符号中非常有用),还包括一些块型和线状图形字元。附加的字元也被添加到ASCII控制字元的编码位置,这是因为大多数控制字元都不是拿来显示用的。

该IBM扩展字元集被烧进无数显示卡和印表机的ROM中,并被许多应用程式用于修饰其文字模式的显示方式。不过,该字元集并没有为所有使用拉丁字母表的西欧语言提供足够多的带重音字元,而且也不适用于Windows。Windows不需要图形字元,因为它有一个完全图形化的系统。

在Windows 1.0(1985年11月发行)中,Microsoft没有完全放弃IBM扩展字元集,但它已退居第二重要位置。因为遵循了ANSI草案和ISO标准,纯Windows字元集被称作「ANSI字元集」。 ANSI草案和ISO标准最终成为ANSI/ISO 8859-1-1987,即「American National Standard for Information Processing-8-Bit Single-Byte Coded Graphic Character Sets-Part 1: Latin Alphabet No 1」,通常也简写为「Latin 1」。

在Windows 1.0的《Programmer's Reference》中印出了ANSI字元集的最初版本。

0- 1- 2- 3- 4- 5- 6- 7- 8- 9- A- B- C- D- E- F-

-0 * * 0 @ P ` p * * ° À Ð à ð

-1 * * ! 1 A Q a q * * ¡ ± Á Ñ á ñ

-2 * * " 2 B R b r * * ¢ ² Â ò â ò

-3 * * # 3 C S c s * * £ ³ Ã ó ã ó

-4 * * $ 4 D T d t * * ¤ ´ Ä ô ä ô

-5 * * % 5 E U e u * * ¥ µ Å õ å õ

-6 * * & 6 F V f v * * ¦ ¶ Æ ö æ ö

-7 * * ' 7 G W g w * * § · Ç * ç *

-8 * * ( 8 H * h * * * ¨ ¸ È ø è ø

-9 * * ) 9 I Y I y * * © ¹ É Ù é ù

-A * * * : J Z j z * * ª º Ê Ú ê ú

-B * * + ; K [ k { * * « » Ë Û ë û

-C * * , < L l | * * &not; &frac14; &Igrave; &Uuml; ì ü

-D * * - = M ] m } * * &shy; &frac12; &Iacute; &Yacute; í &yacute;

-E * * . > N ^ n ~ * * &reg; &frac34; &Icirc; &THORN; &icirc; &thorn;

-F * * / ? * _ o DEL * * &macr; &iquest; &Iuml; &szlig; &iuml; &yuml;

* - not applicable

空方框表示该位置未定义字元。这与ANSI/ISO 8859-1的最终定义一致。ANSI/ISO 8859-1仅显示了图形字元,而没有控制字元,因此没有定义DEL。此外,代码0xA0定义为一个非断开的空格(这意味著在编排格式时,该字元不用于断开一行),代码0xAD是一个软连字元(表示除非在行尾断开单词时使用,否则不显示)。此外,ANSI/ISO 8859-1将代码0xD7定义为乘号(*),0xF7为除号(/)。Windows中的某些字体也定义了从0x80到0x9F的某些字元,但这些不是ANSI/ISO 8859-1标准的一部分。

MS-DOS 3.3(1987年4月发行)向IBM PC用户引进了内码表(code page)的概念,Windows也使用此概念。内码表定义了字元的映射代码。最初的IBM字元集被称作内码表437,或者「MS-DOS Latin US)。内码表850就是「MS-DOS Latin 1」,它用附加的带重音字母代替了一些线形字元。其他内码表被其他语言定义。最低的128个代码总是相同的;较高的128个代码取决於定义内码表的语言。

在MS-DOS中,如果用户为PC的键盘、显示卡和印表机指定了一个内码表,然後在PC上创建、编辑和列印文件,一切都很正常,每件事都会保持一致。然而,如果用户试图与使用不同内码表的用户交换档案,或者在机器上改变内码表,就会产生问题。字元码与错误的字元相关联。应用程式能够将内码表资讯与文件一起保存来试图减少问题的产生,但该策略包括了某些在内码表间转换的工作。

虽然内码表最初仅提供了不包括带重音符号字母的附加拉丁字元集,但最终内码表的较高的128个字元还是包括了完整的非拉丁字母,例如希伯来语、希腊语和斯拉夫语。自然,如此多样会导致内码表变得混乱;如果少数带重音的字母未正确显示,那么整个文字便会混乱不堪而不可阅读。

内码表的扩展正是基於所有这些原因,但是还不够。斯拉夫语的MS-DOS内码表855与斯拉夫语的Windows内码表1251以及斯拉夫语的Macintosh内码表10007不同。每个环境下的内码表都是对该环境所作的标准字元集修正。IBM OS/2也支援多种EBCDIC内码表。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格&#8203;十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有