c語言utf8字符串 C 中怎么讀取UTF-8編碼的文件?
C 中怎么讀取UTF-8編碼的文件?1. 在windows上默認使用GBK,所以處理utf8有點麻煩,甚至不能直接顯示utf8.2。任何文件都是二進制數(shù)據(jù)。三。從文件中讀取的字節(jié)數(shù)組byte[]C實
C 中怎么讀取UTF-8編碼的文件?
1. 在windows上默認使用GBK,所以處理utf8有點麻煩,甚至不能直接顯示utf8.2。任何文件都是二進制數(shù)據(jù)。三。從文件中讀取的字節(jié)數(shù)組byte[]C實際上是unsigned char[]的類型,并使用windows APIMultibytetowidechar4中的函數(shù)轉換為Unicode,即wchar。對于wcharut字符,可以直接顯示,也可以直接使用,因為基本上所有的操作系統(tǒng)都支持這種編碼。5如果需要使用GBK的字符編碼數(shù)組,那么可以使用上述函數(shù)的另一個同級函數(shù)WideCharToMultiByte提示:Windows MFC中的字符串cstringa catlstringa基于GBK。如果用cstringa保存utf8編碼,輸出會被直接亂碼,為了避免混淆,應該用STD::string保存utf8std::wstring unicode,cstringa只在調用系統(tǒng)API時臨時使用,不作為長期數(shù)據(jù)存儲在系統(tǒng)中。