如何转换(不一定以编程方式)之间的Windows'wchar_t和GCCLinux之一?

如何转换(不一定以编程方式)之间的Windows'wchar_t和GCCLinux之一?,第1张

概述如何转换(不一定以编程方式)之间的Windows'wchar_t和GCC / Linux之一?

假设我有这个windows wchar_tstring:

L"x4f60x597d"

L"x00e4x00a0x597d"

并希望将其转换为GCC / linux wchar_t格式,即UTF-32 AFAIK(不一定以编程方式;它将是一次性的)。 我该怎么做? (一般的解释会很好,但基于这个具体情况的例子也会有帮助)

请不要直接给我字符转换网站。 我想从L“ x(something)”forms转换而不是“结束字符”forms。

windows上的C ++命令行参数问题

如何从HMENU获取菜单ID?

学习缓冲区溢出时应该使用哪个版本的GCC或标志?

如何在C ++中创build高效的multithreading任务调度程序?

在C#中打开/ Save@R_404_6852@Dialog中的应用程序链接项目

如何在windows中获取login用户的全名?

问题与CMake项目build设

可能:执行Qt3和Qt4代码的程序?

windows C ++hex查看器GUI组件

linux仅使用原始套接字使用接口

最常用的字符转换库之一是ICU库http://icu-project.org/它是由一些增强http://www.boost.org/库使用。

从UTF-16(Visual C ++ wchar_t形式)转换为UTF-8,然后可能从UTF-8转换为UCS-4(GCC wchar_t形式)是否可以接受?

如果是这样,那么在windows中,可以使用WIDeCharToMultiByte函数(对于CP_UTF8参数,使用CP_UTF8 )来进行转换的第一部分。 然后,您可以直接将所得的UTF-8字符串粘贴到您的程序中,或者将其进一步转换。 这是一个消息,显示一个人是如何做到的。 你也可以编写你自己的代码或手动完成(官方规范,有关如何将UTF-8转换为UCS-4的章节,可以在这里找到)。 可能有一个更简单的方法,我不是过分熟悉linux中的转换的东西。

您只需要担心 xD800和 xDFFF之间的字符。 零填充时,其他字符应完全相同,从UTF-16映射到UCS-4。

Ignacio是正确的,如果你不使用一些罕见的汉字(或一些已经绝迹的脚本),那么映射是一对一的。 (官方的“行话”是“如果你没有BMP以外的字符”)

这是算法,以防万一: http : //unicode.org/faq/utf_bom.HTML#utf16-3但是,再次,最有可能没有用于你的真实情况。

你也可以使用Unicode的免费源代码( ftp://ftp.unicode.org/Public/PROGRAMS/CVTUTF )

总结

以上是内存溢出为你收集整理的如何转换(不一定以编程方式)之间的Windows'wchar_t和GCC / Linux之一?全部内容,希望文章能够帮你解决如何转换(不一定以编程方式)之间的Windows'wchar_t和GCC / Linux之一?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1267618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存