我正在与 IDE 一起开发一种小型编程语言。
ANSI 字符集表示未使用字符的子集。以下是完整列表:0x7F、0x81、0x8D、0x8F、0x90、0x9D
我想将其中一些用于不可见的代码标记,所以想知道它们是如何在不同的环境中打印的。我可以假设它们总是一个空格,或者一些编辑会荣幸地用“?”之类的东西代替它们。还是灰色矩形?
谢谢你,德米特里
您似乎在谈论Windows-1252,它只是 Windows 可以使用的许多“ANSI”代码页之一,而且它可能不在 Windows 之外使用。不要将新产品与过时的技术联系起来。不支持 Unicode(无论是 UTF-16le 还是 UTF-8)对于编程语言来说是不可接受的。
虽然回答直接问题没有实际意义,但答案是否定的,您不能假设它们会被视为空白。有些可能。有些可能会用空格代替。有些可能会替换为另一个字形。有些人可能会使用特殊的颜色。有些人可能会发出警告。有些可能无法加载文件。
顺便说一句,如果您指的是 Windows-1252,则只有 0x81、0x8D、0x8F、0x90、0x9D 未分配。
您不应该假设任何特定行为,因为它将取决于显示小部件并且很可能取决于字体。预处理文本以供显示或使用带外标记机制(例如,许多文本字段小部件允许您将属性附加到文本运行)。