[英]How to check whether text file is encoded in UTF-8?
如何檢查文本文件是否在C ++中以UTF-8編碼?
您永遠無法確定任何二進制數據都是為了表示UTF-8。 但是,您始終可以檢查它是否可以解釋為UTF-8。 最簡單的方法是嘗試轉換它(比如UTF-32),看看你是否沒有錯誤。 如果您只需要驗證,那么您可以在不實際編寫輸出的情況下執行相同的操作。 (你需要自己寫這個,但這很容易。)
請注意,出於安全原因,必須在第一次出錯時完全中止轉換,而不是試圖以某種方式“恢復”。
嘗試轉換為UTF-16。 如果沒有錯誤,那很可能是UTF-8。 但無論你做什么,它仍然是最好的猜測。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.