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

发布于 2024-08-12 06:40:30 字数 438 浏览 2 评论 0原文

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

但我需要 \u12232 中的这段文字? \u32232?而不是国家字符和符号。使用我的数据库和 RichEditCtrl。知道如何从“пассажирским поездом Невский”到“\u12415?\u12395?\u23554?\u20219?\u30456?\u35527?\u21729?(其中每个国家字符都表示为“\u23232?”

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

干杯,祝周末愉快

I am using a hidden RichTextBox to retrieve Text property from a RichEditCtrl.
rtb->Text; returns the text portion of either English of national languages – just great!

But I need this text in \u12232? \u32232? instead of national characters and symbols. to work with my db and RichEditCtrl. Any idea how to get from “пассажирским поездом Невский” to “\u12415?\u12395?\u23554?\u20219?\u30456?\u35527?\u21729? (where each national character is represented as “\u23232?”

If you have, that would be great.
I am using visual studio 2008 C++ combination of MFC and managed code.

Cheers and have a wonderful weekend

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寂寞花火° 2024-08-19 06:40:30

如果您还需要 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} 应该可以解决问题。

If you need a System::String as an output as well, then something like this would do it:

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();

By the way, are you sure the format is as described? \u is a traditional Escape sequence for a hexadecimal Unicode codepoint, exactly 4 hex digits long, e.g. \u0F3A. It's also not normally followed by ?. If you actually want that, format specifier {0:X4} should do the trick.

寒冷纷飞旳雪 2024-08-19 06:40:30

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

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

You don't need to use escaping to put formatted Unicode in a RichText control. You can use UTF-8. See my answer here: Unicode RTF text in RichEdit.

I'm not sure what your restrictions are on your database, but maybe you can use UTF-8 there too.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文