如何區分UTF-8(無BOM)和ASCII文件?如何區分UTF-8和ASCII文件?
回答
http://msdn.microsoft.com/en-us/library/dd318672%28v=vs.85%29.aspx
IsTextUnicode功能 確定一個緩衝器可能包含Unicode文本的形式。
如果文件包含設置了最高位的任何字節,則它不是ASCII。
所以如果唯一的可能性是ASCII或UTF-8,那麼它是UTF-8。
如果文件只包含頂部位清零的字節,則區分它是ASCII還是UTF-8是沒有意義的,因爲它無論如何都表示完全相同的一系列字符。但你可以稱之爲ASCII。
當然,這並不區分UTF-8與ISO Latin或CP1252,也沒有確認所謂的UTF-8實際上是否有效。
在文件不包含高字節的情況下,將其稱爲「ASCII」可能值得 - 例如,當給它一個MIME類型。這將確保可能不知道「UTF-8」含義的傳統郵件系統仍然能夠接受純ASCII傳輸。 ;-) – 2011-05-02 01:50:15
另請注意,如果您確實將文件解析爲有效的UTF-8,則可以高度確定該文件實際上是否被解釋爲UTF-8。當被解釋爲遺留代碼頁數據時,UTF-8多字節序列的性質幾乎肯定是無稽之談。 – 2011-05-02 01:52:46
是的,這就是我的意思 - 你可以把它稱爲ASCII,而如果設置了任何高位,那麼你*不能稱它爲ASCII。如果沒有設置高位,那麼毫無意義的是說它是ASCII *而不是* UTF-8 - 無論它最初是否打算成爲UTF-8,實際上它現在可以被視爲並且可以被視爲這樣包括通過UTF-8解碼器運行它。我可能不是很清楚。 – 2011-05-02 11:35:13
- 1. python-scrapinghub,ascii/utf8?
- 2. 如何以UTF8格式打開ascii編碼的文件?
- 3. 文本文件和ascii文件之間的任何區別?
- 4. Perl Net ::文件名中的FTP和非ASCII(UTF8)字符
- 5. 解壓UTF8到ASCII
- 6. 如何區分pdf和非pdf文件?
- 7. 如何區分CDA和XML文件?
- 8. 如何讓htacess區分文件和ID
- 9. 分割ASCII文本文件
- 10. 用UTF8文本POST自帶ASCII
- 11. 如何寫文件UTF8?
- 12. 如何區分源文件?
- 13. 如何區分DLL文件
- 14. 如何可以分析二進制和ASCII combinatio N文件
- 15. 確定沒有BOM的文本文件是UTF8還是ASCII
- 16. ASCII和Unicode區別
- 17. 爲什麼utf8與ascii
- 18. 轉換ASCII到UTF8編碼
- 19. 從UTF8到ASCII的轉換
- 20. Apache編碼ascii到utf8
- 21. 分隔多頁ascii文件
- 22. Utf8 Linux文件名和C
- 23. 區分文件和目錄
- 24. 如何與NTFS區分文件夾和文件
- 25. 如何區分音頻3gp文件和視頻3gp文件
- 26. 如何區分音頻文件和視頻文件?
- 27. 使用Python3寫入ASCII格式的文件,而不是UTF8
- 28. 修復了從UTF8更改爲ASCII的文件名
- 29. 將Ascii 7位解碼爲可讀的UTF8 .CSV文件
- 30. 拖放 - 區分文件和文件夾
http://stackoverflow.com/questions/1031645/how-to-detect-utf-8-in-plain-c – 2011-04-29 10:21:15
所有的ASCII文件也是UTF-8文件。 :) – tchrist 2011-04-29 13:40:51
Duplicate:http://stackoverflow.com/questions/4907942/detecting-text-file-type-ansi-vs-utf-8 – 2011-04-30 19:35:55