假设我有这个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之一?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)