需要列出完全由ASCII编码支持的语言列表。

9

我正在撰写一篇关于Unicode的文章,并讨论这种编码方案相对于过时的ASCII等方法的优点。

作为我的研究的一部分,我正在寻找一份列出仅使用ASCII支持的字符集就能完全表示的语言的参考资料。在谷歌上没有找到太多有用信息,所以我想向SO的集体智慧寻求帮助,看看是否有人有一个合理的列表。

主要观点:

  • 所有列出的语言必须能够使用ASCII字符集完全表示。
  • 我知道这不会是全面的,但我主要关注最常见的书面语言。

你是在询问不允许使用Unicode字符的编程语言,还是不需要使用Unicode字符的编程语言?"完全表示"这个词组没有什么具体含义。即使是APL也可以用纯ASCII编写。你能定义一下"完全表示"是什么意思吗? - S.Lott
你确定你说的是 ASCII 而不是 ISO-8859-1 吗?ASCII 甚至对于英语来说都不足够。 - Alan Moore
让我举个例子来提供一些背景。假设你有一个应用程序,将文本编码为普通的旧式8位ASCII码,就像我们在计算机科学课程中学到的那样。我正在寻找一个自然语言列表,这个应用程序不太可能破坏这些语言的格式。 - JohnFx
不存在所谓的普通继承的8位ASCII码,ASCII一直是并将永远是7位。 - Jörg W Mittag
大多数语言可以通过特定的8位代码页进行合理处理。多语言代码页(如850或ISO 8859)可以处理指定语言组之间的交换。8位代码页的256个字符限制不允许在所有语言组之间进行交换,也不能表示使用超过256个字符或许多印刷体字形的语言。 - Charles Williams
不是你想要的,但编程语言(C、Javascript等)和标记语言(HTML、XML等)都完全支持ASCII。它们甚至可以使用ASCII在文本字符串中表示扩展的Unicode字符,例如HTML和XML可以使用‸,Javascript可以使用\u2665 - thomasrutter
6个回答

7

我所知道的自然语言中没有一种能够完全用ASCII字符表示。即使是ASCII发明出来的美国英语也不行:首先,有许多外来词已经被整合到美国英语中,这些词无法用ASCII表示,例如resuménaïve或者几乎每个程序员都经常使用的一个单词schönfinkeln

其次,ASCII缺少几乎所有的排版字符,如“引号”、“破折号”(–和—)、省略号(…)、窄空格和宽空格等,这些在美国英语中都被广泛使用。


1
是的,虽然有点挑剔,但打三个点是输入省略号的正常形式。Unicode U+2026 水平省略号是一个兼容字符,用于回溯到具有单个字符的旧编码方式。 - bobince
谢谢,我不知道这一点。在德国,通常是不允许的,尽管当然每个人都这样做了。并非每个人都像我这样着迷,实际上编写自己的键盘映射与所有这些印刷字符 :-) - Jörg W Mittag
这只是我的个人观点,但是英语允许使用所有这些内容的规范化版本。例如,可以使用两个连字符代替长破折号。大多数人也写简历或天真,不使用重音符号,我们都已经习惯了这种方式。因此,我想要问的正确问题是哪些语言接受只使用 ASCII 字符的规范化。 - PHP Guru
@PHPGuru:我认为规范化不会帮助你。无论你使用NFC、NFD、NFKC还是NFKD规范化,问题仍然存在。 - Jörg W Mittag
我的意思是使用iconv或类似的工具将文本规范化为ASCII。 - PHP Guru

6
据我在拉丁文课上所学,拉丁文中的长音符号是后来诗歌韵律研究者添加的,它们不会在日常书写中使用。因此,你提到的是拉丁文。

1
我从未想过拉丁语,但你是对的。也许楼主应该指定“现代”语言。 - Alan Moore
2
拉丁语并没有死亡。 - Adam Jaskiewicz

5

就借词而言,我认为没有任何语言是例外的。即使是那些丑陋的美国人也知道“resume”和“résumé”的区别。


好观点。我没有考虑到借用词的可能性。 - JohnFx

3

我猜您是指自然语言和仅限于7位ASCII字符吗?

在这种情况下,列表相当少。主要是英语。


2

还有夏威夷语和斯瓦希里语。我相信还有其他语言。 - Mike Maxwell

2
一些人工语言,如国际语伊多语,被设计为仅使用ASCII字符。实际上在日常使用中的语言往往会使用ASCII范围之外的字符,至少用于借词。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接