SORU
31 Ocak 2009, CUMARTESİ


Akışı doğru karakter kodlamasını belirlemek için Nasıl Java :

Aşağıdaki referansla konu: http://stackoverflow.com/questions/498636/java-app-unable-to-read-iso-8859-1-encoded-file-correctly

Programlama yoluyla inputstream/dosyasının doğru karakter kodlamasını belirlemek için en iyi yolu nedir ?

Aşağıdaki kullanarak denedim:

  File in =  new File(args[0]);
  InputStreamReader r = new InputStreamReader(new FileInputStream(in));
  System.out.println(r.getEncoding());

Ama hangi dosya biliyorum bilgisi İSO8859_1 yukarıdaki kod verir ASCII olmayan doğru ve izin vermez bana doğru oluşturma içerik dosyası arka konsol.

CEVAP
31 Ocak 2009, CUMARTESİ


Edemiyor rasgele bayt akışı kodlamasını belirler. Bu kodlamalar doğasıdır. Bir kodlama bayt bir değer ve onun temsili arasında bir eşleme anlamına gelir. Yani her "acaba" olacak. kodlama

getEncoding() yöntemini ayarlayın (JavaDoc bilgi) akışı için olan kodlama dönecektir. Sizin için kodlama sanırım.

Bazı akışları kodlama onları oluşturmak için kullanılan söyleyeyim: XML, HTML. Ama rasgele bayt akışı.

Her neyse, eğer varsa kendi başına bir kodlama olduğunu tahmin etmek deneyebilirsiniz. Her dil, her char için ortak bir frekansı vardır. İngilizce char e çok sık görünür ama ê çok çok nadiren görünür. ISO-8859-1 akışı genellikle 0x00 karakter yok. Ama UTF-16 akış onları bir yeri vardır.

Veya: kullanıcı sorabilirsiniz. Zaten farklı kodlamalar dosyasının bir parçacık bulunmayan uygulamalar gördüm ve "" tek. doğru seçmek için sor

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Associated Press

    Associated P

    18 EYLÜL 2006
  • Google Chrome

    Google Chrom

    1 EYLÜL 2008
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008