嵌入式 c++ 的字符集问题软件

发布于 2024-12-11 08:43:45 字数 316 浏览 0 评论 0原文

我正在开发 Xilinx Spartan 6 fpga 的 EDK 项目。 有一个微处理器系统,采用 FPGA 实现的 Microblaze 微处理器。

它有一个图形 pcore,有自己的内存空间,用于显示 Microblaze 执行的软件代码中指定的文本。 关联的 ASCII 表有 256 个字符。

软件通过RS232接口获取文本。显示英文文本(0-127)时一切正常,因为英文字符在任何字符集中都是相同的。但是当尝试显示俄语时,我的软件无法将适当的 ASCII 代码与这些符号关联起来。

我应该如何解析来自 rs232 的文本以适合 0-255 ASCII 间隔?

I'm working on a EDK project for Xilinx Spartan 6 fpga.
There is a microprocessor system with Microblaze microprocessor implemented in FPGA.

It has a graphical pcore with its own memory space for displaying the text specified in software code executed by Microblaze.
Associated ASCII table has 256 characters.

Software fetches the text by RS232 interface. Everything is okay when displaying English text (0-127) cause English characters are the same in quite any charset. But when trying to display Russian, my software cannot associate appropriate ASCII codes with these symbols.

How should I parse text from rs232 to fit 0-255 ASCII intervals?

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

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

发布评论

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

评论(1

郁金香雨 2024-12-18 08:43:45

您需要知道源使用的字符编码 - RS232 只是移动位的方法,它不指定任何编码。例如源是 Windows 吗?如果是这样,字符可能是 Unicode (UTF-8) 或代码页 1251。一旦您知道了这种编码,您将需要翻译每个字符,可能使用 256 字节的查找表。如果源像 UTF-8 那样对某些字符使用多个字节,则首先需要将字节组装成字符代码,然后才能进行查找。

You need to know the character encoding used by your source - RS232 is just a method for moving the bits, it doesn't specify any encoding. Is the source Windows for example? If so, the characters might be either Unicode (UTF-8) or code page 1251. Once you know this encoding you'll need to translate each character, probably using a lookup table of 256 bytes. If the source uses multiple bytes for some characters as UTF-8 does, you'll first need to assemble the bytes into a character code before you can do the lookup.

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