我需要從std :: wstring轉換爲ISO Latin1。在閱讀了幾個論壇後,我陷入了困惑。 wstring支持unicode字符集,其中每個字符集都是兩個字節,其中ISO Latin1僅爲1個字節。但是前兩個256碼點對於兩者來說都是相同的。從std :: wstring轉換爲ISO ++ Latin1格式在c + +
- ISO Latin-1是多字節字符串嗎?如果是這樣,我需要使用wstombs()從wstring轉換爲ISO Latin-1
2.我是否需要將輸入wstring轉換爲ISO LATIN-1,如果是的話如何實現? 請幫我理解這一點。
您確定要ISO拉丁文1(ISO 8859-1)嗎? Windows上最常見的編碼是CP-1252,它非常相似,但並不完全相同。 「使用字符集標籤ISO-8859-1對Windows-1252文本進行錯誤標記是非常常見的。」 http://en.wikipedia.org/wiki/Windows-1252 –
另請注意,'std :: wstring'可容納大量無法轉換爲ISO Latin 1或Windows CP-1252的字符。 –
是的,我希望我的wstring被轉換爲ISO Latin-1。用戶給我wstring,我的api只帶有ISO拉丁字符。我知道ISO latin-1只有8位,但wchar_t是16位。我是否需要明確截斷?我如何實現這一目標?任何示例都會有所幫助.... – user3794634