Python: bir metin dosyasının kodlamasını belirlemek için var mı?
Bir şey here gömülü olduğunu biliyorum. Ama eğer gerçek bir Python içine metin dosyası kodlama belirlemek için inşa olup olmadığını merak ediyorum?
Yardımınız için teşekkürler
Bir yan, Eğer isterseniz göz ardı edilebilir ama neden kodlama türünü daha kolay tespit olabilir bu yüzden dosyanın içine koydum? " Gibi düzenleyin:
CEVAP
Doğru kodlama algılama olabilirimkansız.
(Chardet SSS:)
Ancak, bazı kodlamalar getirilmiştir Belirli diller ve diller için rastgele değildir. Bazı karakter dizileri her zaman, bir süre sonra pop diğer diziler anlamsız. Bir açan kişi İngilizce akıcı ve “2 txzqJv!bulur Gazetesi dasd0a QqdKjvz” anında tanır öyle olsa bile İngilizce değil Tamamen İngilizce harfler) oluşur. “Tipik” metin, bir sürü inceleyerek bilgisayar algoritması bu taklit edebilir biraz akıcılık ve eğitimli olun bir metnin dili hakkında sanırım.
Bu çalışmada kodlama algılamaya kullanan chardet kütüphane var. chardet otomatik algılama Mozilla kod bir liman.
Ayrıca UnicodeDammit kullanabilirsiniz. Aşağıdaki yöntemleri deneyin:
- Bir kodlama belge bulundu kendisi: XML örneği için, ilanı ya da (HTML belgeleri için) http-eşdeğeri META etiketi. Eğer Güzel Çorba belge içinde kodlama bu tür bulursa, belge baştan ayrıştırır ve yeni kodlamayı bir deneyin verir. Belgede bulduğu herhangi bir kodlama göz ardı eder. tek istisna ise, açıkça bir kodlama belirtilmişse, kodlama ve gerçekten işe yaradı:
- Bir kodlama dosyanın ilk birkaç baytını bakarak kokladı. Eğer bir kodlama bu aşamada tespit edilirse, UTF-kodlamaları, EBCDIC, ASCII ya da biri olacak.
- Bir kodlama eğer yüklüyse chardet kütüphane tarafından kokladı,.
- UTF-8
- Windows-1252
Nasıl bir metin dosyasının karakter ko...
Nasıl Python değişken türünü belirleme...
Ne kadar sorunlu alanları belirlemek i...
Akışı doğru karakter kodlamasını belir...
Nasıl düzgün bir Python komut dosyası ...