我正在寫一個小的應用程序中,我從到控制檯,然後將其存儲在一個經典的char *字符串閱讀一些文字。
碰巧我需要將它傳遞給僅使用UTF-8編碼字符串的庫。由於Windows控制檯使用本地編碼,我需要從本地編碼轉換爲UTF-8。
如果我沒有記錯的話,我可以使用的MultiByteToWideChar(..)編碼爲UTF-16,然後使用調用WideCharToMultiByte(..)來轉換爲UTF-8。從本地編碼轉換C字符串以UTF8
但是我不知道是否有直接從本地編碼轉換爲UTF-8,而無需使用任何外部利布斯的一種方式,因爲轉換到WCHAR的想法只是爲了能夠轉換回CHAR(UTF-8編碼但仍)對我來說似乎有點奇怪。
這將只是一個方便,能夠直接做到這一點。 它確實讓我覺得一個區別,如果我要爲UTF16字符串分配內存並做2個functioncalls,而不是僅僅調用一個函數,並檢查是否有錯誤錯誤檢查。 我想多數民衆贊成的價格,你必須支付時,試圖保持unicode兼容:) – 2009-12-27 02:54:32