如何用C++;? 我需要在C++中定义一个字符集。我已经检查了文档,但我要查找的范围稍宽一些。例如,我有这样的字母

如何用C++;? 我需要在C++中定义一个字符集。我已经检查了文档,但我要查找的范围稍宽一些。例如,我有这样的字母,c++,character-encoding,C++,Character Encoding,要键入这些字符,我将制作一个虚拟键盘。我假设我已经为每个字符提供了一个代码。我有这个字符集的字体。问题是,当我从虚拟键盘点击一个键时,它会将该键写为,例如,“q”。在文本字段中,它看起来像我展示的照片中的一个字母,但在背景中,实际的字母是“q”。当我把那封信复制到其他地方时,它会写“q”字 虽然我无意将这些字母复制到其他地方,但我想给它们一个代码,当我写作时,它将不同于“q” 如果我不使用至少两种古代语言,用“q”来表示那个字母就不会有问题。(古希腊语、古土耳其语) 它将类似于ASCII编码,但

要键入这些字符,我将制作一个虚拟键盘。我假设我已经为每个字符提供了一个代码。我有这个字符集的字体。问题是,当我从虚拟键盘点击一个键时,它会将该键写为,例如,“q”。在文本字段中,它看起来像我展示的照片中的一个字母,但在背景中,实际的字母是“q”。当我把那封信复制到其他地方时,它会写“q”字

虽然我无意将这些字母复制到其他地方,但我想给它们一个代码,当我写作时,它将不同于“q”

如果我不使用至少两种古代语言,用“q”来表示那个字母就不会有问题。(古希腊语、古土耳其语)

它将类似于ASCII编码,但与程序外部隔离


我希望我把我的问题描述得很好。

<好的,让我们试试答案。

首先,不要为狭隘的角色操心。那只是一种工作上的痛苦。使用
wchar\u t
。其次,在相关系统上,
wchar\u t
映射到某种形式的Unicode,Unicode有一个专用区域(PUA)。为每个角色指定PUA值。这将处理文本的二进制表示

其次,你需要一个输入法。这是特定于操作系统的,您尚未指定哪个操作系统。我们不知道你有什么脚本,所以我们不知道字符的键是1对1映射还是更复杂


最后,您需要一种显示这些脚本的方法。这可以通过两种方式解决。要么你向操作系统提供字体,让操作系统用它来呈现文本,要么你自己来呈现文本。两者都不容易,而且都有一定程度的操作系统特定性(我们仍然不知道)。

您需要一个所有字符的列表,以便可以指定序号,并基于此创建一种字体来呈现它们。如果你有,你可以开始了。不过,确定必需的字符不是unicode格式的吗?你真的不想用私人使用区来描述它们,让它们与其他脚本混合使用吗?古希腊语和古土耳其语都有unicode字符表示法。但是由于这些语言太古老了,没有人打扰它们,所以我不能使用unicode。我尝试了几次,但都没有成功。请使用Unicode。它已经为大多数人需要的大多数语言定义了字符。如果这还不够的话,它还有一个私人使用区域。“因为那些语言太旧了,没有人打扰他们,我不能用unicode的方式。”这没有任何意义。你的具体问题是什么?我不是在评判任何人。我只是告诉你,你的需求很可能不是独一无二的。有人已经开发了你要做的事情,并将其集成到你的操作系统中。我的操作系统是Ubuntu 12.04 64位。