Ich habe einen Byte-Stream, der UTF-8-Daten sein kann, oder es kann ein Binärbild sein. Ich sollte in der Lage sein, eine ungefähre Schätzung darüber zu machen, welche es ist, indem ich die ersten 100 Bytes oder so prüfe.Was ist eine gute Heuristik zu sehen, wenn eine Reihe von Bytes als UTF-8 in Java codiert sind?
Allerdings habe ich nicht genau herausgefunden, wie man das in Java macht. Ich habe versucht, Dinge wie die folgenden zu tun:
neue Zeichenfolge (Bytes, "UTF-8"). Teilzeichenfolge (0,100). Matches (". * [^ \ P {Print}]" um zu sehen, ob Die ersten 100 Zeichen enthalten nicht druckbare Zeichen, aber das scheint nicht zu funktionieren.
Gibt es einen besseren Weg, dies zu tun?
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. –
@ S.L.Barth: Dies ist nur ein Zeiger auf eine Lib, die helfen könnte, nicht eine vollständige Antwort. Es scheint jedoch legitim. – Seki