我知道如果我在vs中使用unicode字符集,我可以使用L"There is a string"
來呈現unicode字符串。當vs進行詞法分析時,我認爲There is a string
將從srouce文件中讀取,它會將There is a string
解碼爲來自源文件編碼的unicode。visual studio如何解析來自不同編碼源文件的unicode字符串?
我已將源文件更改爲某些不同的編碼,但我總是從L
marco獲得正確的unicode數據。劑量與檢測源文件的編碼來隱藏There is a string
來糾正unicode?如果不是,VS如何實現這一目標?
我不確定這個問題是否可以在SO中提出,如果不是,我應該問哪裏?提前致謝。
什麼 「不同編碼」 你試試? AFAIK,沒有字節順序標記字符的文件默認爲「ANSI」(本地化的編碼...美國的Windows是cp1252,但它因地區而異),否則,[BOM](https://en.wikipedia.org/ wiki/Byte_order_mark)字符作爲文件中的第一個代碼點標識一個UTF編碼。 –
@MarkTolonen我試過GB2312,UTF-8。那麼vs會檢測文件編碼來隱藏unicode?是否有一些文件編碼與不支持做這種轉換? – zzy
您使用的是什麼本地化版本的操作系統?對於中文,GB2312可能是ANSI編碼。我期望其他本地化失敗或至少損壞字符,因爲Windows不會將任何編碼指示添加到文件,並將採用當前的ANSI編碼。但是,UTF編碼文件由VS編寫,以BOM字符開頭,該字符具有不同的UTF編碼的特定簽名。 –