7

引用“高 ascii”或“扩展 ascii”字符的技术正确方法是什么?我指的不仅仅是 128-255 的范围,而是 0-127 范围之外的任何字符。

通常它们被称为变音符号、重音字母,有时被随便称为“国家”或非英语字符,但这些名称要么不精确,要么仅涵盖可能字符的子集。

程序员会立即识别出哪些正确、准确的术语?与非技术人员交谈时使用的最佳英语术语是什么?

4

8 回答 8

18

“非 ASCII 字符”

于 2009-10-02T17:24:17.503 回答
2

未定义 127 以上的 ASCII 字符代码。许多不同的设备和软件供应商为值 128-255 开发了自己的字符集。有的选择绘图符号,有的选择重音字符,有的选择其他字符。

Unicode 试图制作一套通用的字符代码,其中包括大多数语言中使用的字符。这不仅包括传统的西方字母,还包括西里尔文、阿拉伯文、希腊文,甚至大量的中文、日文和韩文字符,以及许多其他现代和古代语言。

Unicode 有几种实现方式。UTF-8 是最受欢迎的一种。受欢迎的一个主要原因是它向后兼容 ASCII,ASCII 和 UTF-8 的字符代码 0 到 127 是相同的。

这意味着最好说 ASCII 是 UTF-8 的子集。字符代码 128 及以上不是 ASCII。它们可以是 UTF-8(或其他 Unicode),也可以是硬件或软件供应商的自定义实现。

于 2009-10-02T18:01:27.677 回答
1

你可以创造一个术语,如“trans-ASCII”、“supra-ASCII”、“ultra-ASCII”等。实际上,“meta-ASCII”会更好,因为它暗指元位。

于 2009-10-02T17:44:01.380 回答
0

“扩展 ASCII”是我使用的术语,意思是“超出原始 0-127 的字符”。

Unicode 是一组可能的扩展 ASCII 字符,并且非常非常大。

UTF-8 是表示向后兼容原始 ASCII 的 Unicode 字符的方式。

于 2009-10-02T17:25:02.040 回答
0

不代表 ASCII 字符的位序列不一定是 Unicode 字符。

根据您使用的字符编码,它可能是:

  • 无效的位序列
  • 一个 Unicode 字符
  • ISO-8859-x 字符
  • Microsoft 1252 字符
  • 其他字符编码中的字符
  • 错误、二进制数据等

适合所有这些情况的一个定义是:

  • 不是 ASCII 字符

为了高度迂腐,即使是“非 ASCII 字符”也不完全适合所有这些情况,因为有时超出此范围的位序列可能只是无效的位序列,而不是一个字符。

于 2010-05-27T05:56:06.323 回答
0

从在线资源(虽然很酷的网站)中取词,因为我发现它有用且适合写作和回答。

起初只包括大写字母和数字,但在 1967 年添加了小写字母和一些控制字符,形成了所谓的 US-ASCII,即字符 0 到 127。因此,这套只有 128 个字符的集合于 1967 年出版作为标准,包含您用英语编写的所有内容。

1981 年,IBM 开发了 8 位 ASCII 代码的扩展,称为“代码页 437”,在这个版本中将一些过时的控制字符替换为图形字符。还添加了 128 个字符,包括新的符号、符号、图形和拉丁字母,以及用其他语言(例如西班牙语)书写文本所需的所有标点符号和字符。以这种方式添加了范围从 128 到 255 的 ASCII 字符。

IBM 在其 5150 型(称为“IBM-PC”)的硬件中包含了对该代码页的支持,被认为是第一台个人计算机。该型号的操作系统“MS-DOS”也使用了这种扩展的ASCII码。

于 2017-07-04T06:08:00.297 回答
-1

非 ASCII Unicode 字符。

于 2009-10-02T17:16:38.813 回答
-1

如果您说“High ASCII”,则根据定义,您在十进制的 128-255 范围内。ASCII 本身被定义为一个字节(实际上是 7 位)的字符表示;使用高位来允许非英文字符发生在后来,并产生了定义由特定值表示的特定字符的代码页。任何多字节(> 255 个十进制值)都不是 ASCII。

于 2009-10-02T19:51:34.073 回答