谁能帮助我转换数据从统一码(16位)到7位ascii在C++?
发布于 2009-11-13 16:18:53
您可以将unicode字符0..127映射到ASCII集。对于其他字符,没有7位ASCII等效项。你想用这些做什么?
发布于 2009-11-13 16:21:11
C++语言本身并没有处理此类转换的功能。您必须使用RTL/API函数来代替。例如,如果您的应用程序运行在Windows平台上,则可以使用Win32接口WideCharToMultiByte()函数。如果您想要更便携的东西,可以查看GNU的iconv库。
或者,您可以简单地手动执行转换。Unicode UTF-16非常容易手工解码,从0到127的值是ASCII值。
发布于 2009-11-13 16:41:19
您希望将双字节unicode字符转换为utf7,这将为您提供可以用ascii字符集表示的字符(并避免被无法处理最高位集的字符的老式系统弄乱)。请注意,这将把一个多字节字符拆分成几个字符(如果读作ascii)。
示例代码可以在ibiblio.org上找到(通过谷歌快速搜索)。未知许可证。
https://stackoverflow.com/questions/1727819
复制相似问题