我使用隐藏的RichTextBox从RichEditCtrl中检索Text属性。 的 rtb->文字;返回国家语言的英语的文本部分 - 非常棒!
但我在\ u12232中需要这个文字吗? \ u32232?而不是国家字符和符号。使用我的db和RichEditCtrl。不知道怎么从“пассажирскимпоездомНевский”到“ \ u12415?\ u12395?\ u23554?\ u30256?\ u35526?\ u35527?\ u21729?(其中)每个国家字符都表示为“\ u23232?”
如果你有,那就太好了。 我正在使用Visual Studio 2008 C ++ MFC和托管代码的组合。
干杯,度过一个愉快的周末
答案 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。