RichTextBox用于在C ++中检索Text属性

时间:2009-11-27 21:10:54

标签: unicode richtextbox

我使用隐藏的RichTextBox从RichEditCtrl中检索Text属性。 的 rtb->文字;返回国家语言的英语的文本部分 - 非常棒!

但我在\ u12232中需要这个文字吗? \ u32232?而不是国家字符和符号。使用我的db和RichEditCtrl。不知道怎么从“пассажирскимпоездомНевский”到“ \ u12415?\ u12395?\ u23554?\ u30256?\ u35526?\ u35527?\ u21729?(其中)每个国家字符都表示为“\ u23232?”

如果你有,那就太好了。 我正在使用Visual Studio 2008 C ++ MFC和托管代码的组合。

干杯,度过一个愉快的周末

2 个答案:

答案 0 :(得分:0)

如果您还需要System::String作为输出,那么这样的事情就可以了:

String^ s = rtb->Text;
StringBuilder^ sb = gcnew StringBuilder(s->Length);
for (int i = 0; i < s->Length; ++i) {
    sb->AppendFormat("\u{0:D5}?", (int)s[i]);
}
String^ result = s->ToString();

顺便问一下,您确定格式如上所述吗? \u十六进制 Unicode代码点的传统转义序列,正好是4个十六进制数字长,例如\u0F3A。它通常也不是?。如果您真的想要这样,格式说明符{0:X4}应该可以解决问题。

答案 1 :(得分:0)

您不需要使用转义将格式化的Unicode放在RichText控件中。您可以使用UTF-8。请在此处查看我的回答:Unicode RTF text in RichEdit

我不确定你的数据库有什么限制,但也许你也可以在那里使用UTF-8。