可以在中包含特殊字符吗



我需要让用户能够在允许文本输入的任何地方输入一小组特殊字符。字符名称为:

  1. 对于所有。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。存在
  2. 不存在。。。。。。。。。。。。。。。。。。。。。。。。。。。大写PI
  3. 资本西格玛。。。。。。。。。。。。。。。。。。。。。。的子集
  4. …………的适当子集。。。。。。。。。。。。。的超集
  5. ……的适当超集。。。。。。。。。暗示
  6. 等效。。。。。。。。。。。。。。。。。。。。。。。。。不是
  7. 以及。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。或

编辑

根据两份意见的要求,我正在澄清我的要求。

我希望这些字符在对象编辑器中可供用户输入,在对象读取器中可作为输出(作为符号)使用。通常,这些阅读器将显示对象的描述或定义,符号将构成该描述/定义的一部分。用户将输入它们作为描述或定义对象任务的一部分。读者可以在各种媒体中——网页、自定义对象读者、屏幕内外阅读的文本文档。

我想在我的应用程序中提供这些设施,而不管用户拥有什么机器。我特别希望提供它们,而不管:

  1. 平台
  2. 特定机器上可用的字体
  3. 区域设置-键盘和操作系统设置

@雷德瓦尔德编辑后的答案为我的两部分需求提供了完整的答案。我可能会接受他对我问题的回答。他的回答中我需要进一步调查的部分是"2。检测输出设备使用的输出编码。在此检测中包括对存在哪些字体的检查。"我不知道这项任务涉及到什么

结束编辑

"独立于字体","独立于语言环境"。我想这意味着您希望将自己限制为仅ASCII字符集。在这种情况下,我建议以C/C++字符串的方式使用转义符。例如,如果转义符是"?",你可以这样编码特殊的符号:

  • ?有孔虫
  • ?E存在
  • ?N不存在
  • ?P大写PI
  • ?S资本西格玛
  • <的子集

等等。除非你想成为W V Quine*那样的人,否则你也应该定义??意思是"?"。


编辑:按评论要求:

这涉及到输入端。如果您确实想将特殊符号显示为特殊符号,则必须以Unicode输出。因此,在执行输出时,您必须从该表示转换为Unicode,或者在输入时进行转换并以Unicode记录字符串。


编辑:根据评论要求:

我不一定想把自己限制在ASCII字符集。我确实希望字符被输入和显示,即使相关的计算机没有(例如)符号字体

  1. 将字符串存储在Unicode编码中
  2. 检测输出设备使用的输出编码。在此检测中包括对存在哪些字体的检查
  3. 如果输出编码可以支持输出所有必需的特殊字符,请将输出代码从Unicode转换为输出设备使用的编码。否则,让输出代码使用与输入相同的转义序列来编写特殊字符

*哲学家W V Quine对他的机械打字机进行了著名的改造,用逻辑符号(包括问号)取代了一些打字机。当被问及"你没有错过问号吗?"时,他回答道:"好吧,你知道,我处理的是肯定的。"

相关内容

  • 没有找到相关文章

最新更新