2009-11-16 60 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

相關問題