通常它们被称为变音符号、重音字母,有时随意地称为“国际”或非英语字符,但这些名称要么不精确,要么只涵盖可能字符的子集。
对于程序员来说,什么是正确、准确的术语,并且在向非技术人员讲解时最好使用哪个英语术语?
“非 ASCII 字符”
ASCII字符代码高于127未定义。许多不同的设备和软件供应商为值128-255开发了自己的字符集。一些选择绘图符号,一些选择重音字符,其他则选择其他字符。
Unicode是尝试制作一个包括大多数语言中使用的字符的通用字符代码集。这不仅包括传统的西方字母表,还包括西里尔文、阿拉伯文、希腊文,甚至包括来自中文、日文和韩文的大量字符,以及许多现代和古代语言的其他字符。
有几种Unicode的实现方式。其中最流行的之一是UTF-8。其主要原因是它与ASCII向后兼容,字符代码0到127对于ASCII和UTF-8是相同的。
这意味着更好地说,ASCII是UTF-8的子集。字符代码128及以上不属于ASCII。它们可以是UTF-8(或其他Unicode),也可以是硬件或软件供应商的自定义实现。
int
或 long
,而是数字),UTF是将每个数字转换成一个或多个字节序列的方法。 - yfeldblum一个不表示ASCII字符的位序列并不一定是Unicode字符。
取决于您使用的字符编码,它可以是以下任一内容:
适用于所有这些情况的唯一定义是:
严谨地讲,即使“非ASCII字符”也不完全符合所有这些情况,因为有时候在此范围之外的位序列可能只是无效的二进制位序列,根本不是字符。
我从一个在线资源(很酷的网站)中选取了一些文字,因为我认为它们对我的写作和回答非常有用和适当。
最初只包括大写字母和数字,但在1967年添加了小写字母和一些控制字符,形成了所谓的US-ASCII,即字符0到127。 因此,这个仅包含128个字符的集合在1967年被发布为标准,包含了所有你需要用英语写作的内容。
1981年,IBM开发了8位ASCII码的扩展,称为“代码页437”,在这个版本中,一些过时的控制字符被替换为图形字符。还添加了128个字符,包括新的符号、标志、图形和拉丁字母,以及撰写其他语言文本所需的所有标点符号和字符,例如西班牙语。 这样就添加了ASCII字符从128到255。
IBM在其型号5150的硬件中包括了对这个代码页的支持,该型号被认为是第一台个人电脑,“IBM-PC”。 该型号的操作系统“MS-DOS”也使用了这个扩展的ASCII码。
非ASCII Unicode字符。