¿Alguien sabe si existe una forma simple de detectar la codificación de juegos de caracteres en Java? Me parece que algunos programas tienen la capacidad de detectar qué conjunto de caracteres utiliza una determinada pieza de datos, o al menos hacer una aproximación.Cómo detectar qué conjunto de caracteres codifica en Java?
Supongo que el mecanismo subyacente tendría que decodificar los datos en cada conjunto de caracteres y elegir el que tenga los caracteres menos indefinidos, seguido de qué conjunto de caracteres es más común para romper un empate.
¿Alguna idea?
¿De qué entrada estamos hablando? ¿Byte array (binary) o char array (String)? ¿Cuáles te gustaría distinguir entonces? Se puede hacer solo para conjuntos de caracteres Unicode (con marcas de orden de bytes), pero no para otros. – BalusC
Esto puede ser complicado. En este sitio, pfarland está utilizando algunas heurísticas: http://forums.sun.com/thread.jspa?threadID=279203#3 – mre
Temas relacionados: http://stackoverflow.com/questions/499010/java-how-to -determine-the-correct-charset-encoding-of-a-stream y http://stackoverflow.com/questions/1888189/java-readers-and-encodings – BalusC