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!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM