1. 程式人生 > 其它 >C語言 windows下Ansi和UTF-8編碼格式的轉換

C語言 windows下Ansi和UTF-8編碼格式的轉換

 當我們使用MinGW-w64作為編譯器在windows系統環境下進行C語言程式設計時,如果原始碼檔案(.c)儲存格式為Ansi格式,則在列印漢字時不會出現亂碼;反之,如果我們使用UTF-8格式儲存,則會出現亂碼,需要在編譯時加上“-fexec-charset=gbk”來解決亂碼問題。

#include <stdio.h>

int main()
{
    printf("%s\n", "你好,世界!");

    return 0;      
}

  

  那麼,當我們使用C語言處理檔案時,如果檔案格式是UTF-8,如何轉換成Ansi格式呢?注意:在windows下,txt的儲存格式中有UTF-8和帶有BOM的UTF-8兩個選項。如果選擇帶有BOM的UTF-8選項,則在讀取檔案時會首先讀到三個標誌著這個檔案是由UTF-8格式編碼的字元,分別為EF BB BF。如果選擇UTF-8,則不會有這三個字元,而是直接一開始就讀到檔案本身內容。詳情請看:

https://blog.csdn.net/wang544831183/article/details/82349668

char.h main.c Resistance is Futile!