📝 Archivos de texto
Archivos de texto plano de prueba
102,400 bytes
text/plain
104,857,600 bytes
text/plain
10,240 bytes
text/plain
10,485,760 bytes
text/plain
1,048,576 bytes
text/plain
Acerca de Archivos de texto
Hay archivos de texto plano de 10 KB a 100 MB, gratis, para verificar el procesamiento de texto, simular archivos de log y comprobar cómo manejan los editores archivos grandes.
Solo dos variables causan problemas en texto plano: la codificación y la convención de salto de línea. Los archivos para cada convención (LF, CRLF, CR y mixta) están en la prueba de saltos de línea.
Usos habituales
- Comprobar si un editor o visor puede abrir un archivo grande
- Medir cuánto tarda una herramienta de análisis de logs
- Confirmar que la lectura es línea a línea: cargar todo el archivo presiona la memoria
- Medir el conteo de líneas y caracteres
Referencias y artículos relacionados
📖 Dónde se suele tropezar
Texto plano de 10 KB a 100 MB, para cronometrar lecturas y tantear los limites del manejo de texto. No existe un formato correcto de texto plano. La codificacion y los finales de linea son informacion que viene de fuera; el fichero nunca los declara.
| Caso | Qué ocurre | Qué hacer |
|---|---|---|
| Un caracter invisible abre la primera linea | Un BOM UTF-8 (EF BB BF) no se ve. La primera clave pasa a ser id y solo la comparacion deja de coincidir. |
Comprueba con head -c 3 file | xxd. Para quitarlo al leer, compara los tres primeros bytes en PHP, o usa encoding="utf-8-sig" en Python, que se encarga solo. |
| Cada herramienta cuenta lineas distintas | wc -l cuenta caracteres de nueva linea. Sin salto final, el recuento queda uno por debajo de lo que muestra el editor. POSIX espera que un fichero de texto termine con uno. |
Emite un salto de linea final. Los diffs salen limpios y los recuentos concuerdan. Si sospechas de finales mezclados, los archivos de prueba de finales de linea te ensenan como se comportan tus herramientas. |
| Abrir el fichero de 100 MB mata el proceso | file_get_contents() y readlines() cargan el fichero entero. El memory_limit por defecto de PHP no da para una entrada de 100 MB. |
Itera linea a linea: fgets() en PHP, for line in f en Python. Cuando la memoria deja de escalar con el tamano de la entrada, dejas de tener que subir el limite. |
Un fichero de texto nunca declara su propia codificacion. Salvo que haya BOM, toda determinacion es una conjetura. En una ruta de importacion, dejar elegir al usuario o fijarla por acuerdo acaba siendo mas solido que cualquier deteccion.