2009-11-16 59 views
1

如何在C++中以便携方式将字符串从一个字符集转换为另一个字符集?例如,我想将wstring转换为UTF-8字符数组或。这个怎么做?如何在C++中将字符串从一个字符集转换为另一个字符集?

我问一些标准的方式没有chilkatsoft,wxWidgets,Qt。它是一个简单的C++应用程序。虽然一些简单的类或方法可以完成这项工作。

+0

您的解决方案仅与您使用的库一样便携(例如,ICU非常便携)。如果你坚持不使用库,你应该准备好复制具有成千上万条目的查找表。 – 2009-11-16 11:19:06

+0

utf-16和utf-8都是相同底层数字的不同编码,所以它很可能以非常小的平台独立方式进行这种转换。 对于其他所有内容,很多字符编码只是有意义的,或者在单个平台上定义,这是其中有一个文件或多个文件与平台特定的字符集转换例程有意义的地方之一。 – 2009-11-16 11:56:38

+0

你好priyank 方面 Anirudha古普塔 http://anirudhagupta.blogspot.com – 2009-11-17 10:55:37

回答

3

字符集的常见表述是Unicode。因此,你需要一个面向Unicode的库。像Qt和wxWidgets这样的框架提供了这些功能; ICU更专用于Unicode文本处理。

+0

我在标准C++中要求,你应该知道wxWidgets或Qt的行李。 – 2009-11-16 11:13:41

+2

暗示的先决条件是:C++中的字符集之间没有转换功能。 – 2009-11-16 11:26:32

+2

确实。而这些图书馆中存在“包袱”的原因是因为计算机有很多可能性,其中大部分都没有通过ISO标准化。一个男人的包包是另一个男人的必备功能。 – MSalters 2009-11-16 11:43:17

1

你可以使用libiconv(谷歌它),它支持许多编码。

+0

便携式libiconv是多少?有没有样品? – 2009-11-16 12:04:29

相关问题