Para el diseño tenemos nuestro famoso texto "Lorem ipsum" para probar cómo se ve.¿Hay un conjunto de archivos "Lorem ipsums" para probar problemas de codificación de caracteres?
Lo que estoy buscando es un conjunto de archivos que contienen texto codificado con varias codificaciones diferentes que puedo usar en mis pruebas JUnit para probar algunos métodos que tratan la codificación de caracteres al leer archivos de texto.
Ejemplo:Tener un codificada test-archivo ISO 8859-1
y una codificada test-archivo Windows-1252
. El Windows-1252 tiene que desencadenar las diferencias en la región 80 - 9F . En otras palabras, debe contener al menos un carácter de esta región para distinguirlo de ISO 8859-1.
Quizás el mejor conjunto de archivos de prueba es aquel en el que el archivo de prueba para cada codificación contiene todos sus caracteres una vez. Pero tal vez no soy consciente de algo, a todos nos gusta esta codificación, ¿verdad? :-)
¿Existe un conjunto de archivos de prueba para problemas de codificación de caracteres?
+1: Acabo de pasar bastante tiempo implementando un Decodificador UTF-8. Manejar todas las cajas de esquina requiere más pruebas de unidad de lo que piensas. – Raedwald
"Texto codificado con varias codificaciones diferentes": para una buena cobertura, también desea secuencias de bytes de muestra que contengan bytes no válidos. Según la página de Wikipedia UTF-8, el manejo inadecuado de esos casos ha introducido vulnerabilidades de seguridad en algunos productos de alto perfil. – Raedwald
@Raedwald Por supuesto, ese es un buen punto. No estaba enterado de esto. En mi opinión, una razón más para un maduro conjunto de pruebas para problemas de codificación. No tiene que ser un conjunto de archivos. También puede ser una biblioteca que proporciona datos de prueba que se pueden usar en las pruebas JUnit. Por ejemplo, puede proporcionar secuencias de bytes críticas/inválidas para conjuntos de caracteres comunes y cadenas de referencia para la comparación después de decodificar secuencias de bytes de muestra. Solo algunos pensamientos y me pregunto cómo se ha probado esta codificación en todas las libs de ... –