Unicode 符号代码的简单总和
Posted
技术标签:
【中文标题】Unicode 符号代码的简单总和【英文标题】:simple sum of Unicode symbol codes 【发布时间】:2015-02-24 16:27:51 【问题描述】:我想这样做:
1) 转换!按钮的点击事件
用户必须在可写编辑控件中键入 2 个值。按下 Convert ! 后,程序必须将这些字符 Unicode 值的总和设置为第一个只读编辑控件(它靠近“=”符号)。例如,如果我将第一个编辑控件值设置为
є
(其 UTF-16(十六进制)编码值为0x0404 (0404)
。它也称为 Cyrillic Capital Letter Ukrainian IE) 和第二个编辑控件值为@
(其UTF-16(十六进制)编码值为0x0040 (0040)
。也称为Commercial At),那么result必须是一个符号:ф
(其 UTF-16 编码值为0x0444 (0444)
)。因此,其值等于其他编辑控件 UTF-16 编码值的总和。我该怎么做?
2) 撤消按钮的点击事件
通过点击Undo按钮,必须设置该按钮下方的编辑控件的值。这个值应该是
є
符号(正如你看到的它的Unicode编码值是sum
和second edit control's
的提取值。我该怎么做呢?
我已经在 Google、MSDN 和一些不同的论坛中搜索了 2 周来寻找这些问题。但我找不到任何有用的话题。我只能找到MultiByteCharacterSet
、_mbclen
、mblen
和_mblen_l
函数。如果这些功能对我有用,我如何在我的程序中使用它/它们?请给我建议。我是 VC++ 新手。
编辑
用户必须输入一个字符。它可能是一个数字或字母。不是单词或字符序列或数字。
感谢您的关注。
P.S:如果我的语法有太多差的错误,如果问题是重复的,那么抱歉...
最好的问候, 米拉拉。
【问题讨论】:
添加 Unicode 码位值是一个非常没有意义的操作。结果是一个完全随机的字形。只是胡言乱语。当您使用的字体没有字形时,根本不包括任何内容,结果与代理匹配或溢出。不要编写会产生乱码的程序。 @HansPassant 我知道。但是我可以这样做吗? 你可以做任何你想做的事,只是不要指望帮助完成无意义的任务。使用随机数生成器,实现起来会更容易。 这个问题的随机数生成器?但是怎么做?请解释。我无法理解。 您是否知道该任务的任何部分?你能读懂编辑控件吗?可以加两个字符吗?您可以写入只读编辑控件吗?这些似乎都是非常初级的步骤。那么有什么问题呢? 【参考方案1】:输入值已经等于它的 unicode-16 值。无需转换。
CString in1(L'1');
CString in2(L'2');
CString sum(wchar_t(in1[0] + in2[0]));
【讨论】:
nice :) 它有时对我有用。这里有时的意思是,当第一个输入值为A
而第二个输入值为B
时,结果实际上什么都没有。但它适用于其他一些符号。而且我还想知道它不适用于所有符号?我不明白 [0]
是什么?我将这些索引更改为另一个不起作用的数字。谢谢。
in1[0] 是 in1 字符串中的第一个字符。 in1[1] 将是字符串中的第二个字符(如果有第二个字符)。该算术对所有符号都“有效”,但并非所有结果都会产生可显示的字符。以上是关于Unicode 符号代码的简单总和的主要内容,如果未能解决你的问题,请参考以下文章
使用 VBScript 制作批处理文件代码以使用 Unicode 符号
Windows“符号”或 WGL4 字体代码指向 UNICODE 映射?