Ajustes INI (.ini)
De EstándarWindows Initialization Configuration (INI) es el formato clásico de archivos de configuración legibles por humanos, popularizado por Microsoft Windows. Organiza los ajustes de una aplicación en [secciones] con pares clave=valor.
Convertir de INI a JSON
Convertidor gratuito de INI a JSON en el navegador. Convierte archivos al instante en tu dispositivo.
Inspección y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de INI inspeccionando la secuencia de bytes binarios inicial:
Firma de cabecera a nivel de bytes (bytes mágicos)
Los sistemas operativos y analizadores de archivos identifican los archivos de INI inspeccionando la secuencia de bytes binarios inicial:
FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):
5B ... 5DREPRESENTACIÓN ASCII: [...]
Estandarización: De facto industry configuration standard
Especificaciones técnicas
| Arquitectura del contenedor | Archivo de configuración de texto plano organizado en secciones [section] con pares clave = valor y comentarios (; o #) |
| Compresión | Archivo de texto sin comprimir |
| Orden de bytes (Endianness) | Flujo de texto UTF-8 o ANSI |
| Espacios de color | N/A (Archivo de configuración) |
| Canales y estructura | Propiedades de configuración de clave y valor agrupadas por secciones |
| Dimensiones máximas | Límite histórico de 64 KB en Windows de 16 bits; ilimitado en implementaciones modernas |
| Transparencia | Ninguna |
| Streaming y progresivo | Analizador secuencial que procesa el archivo línea por línea |
Matriz de comparación técnica: INI frente a la competencia
| Atributo técnico | INI (Actual) | JSON | YAML | TOML |
|---|---|---|---|---|
| Complejidad de sintaxis | La sintaxis más sencilla: sección y pares clave=valor | Sintaxis estricta con corchetes y comillas | Espacios en blanco sensibles a la indentación | Tablas tipadas modernas |
| Soporte de comentarios | Nativo (comentarios ; y #) | La especificación no admite comentarios | Nativo (comentarios #) | Nativo (comentarios #) |
| Estructuras anidadas | Solo admite secciones de un nivel | Admite objetos y matrices anidados sin límite | Admite árboles anidados sin límite | Matrices de tablas estructuradas |
| Tipado de datos | Cadenas implícitas (la aplicación determina los tipos) | Números, valores booleanos y matrices explícitos | Tipos y anclajes explícitos | Fechas, números y matrices explícitos |
Modos de corrupción comunes y guía de recuperación hexadecimal
La aplicación ignora la configuración o no se inicia.
Causa raíz: Falta el corchete de cierre de la sección (por ejemplo, «[Settings» en lugar de «[Settings]») o hay un signo igual sin escapar en un valor.
Recuperación: Valida y corrija la sintaxis INI con Config Formatter de File2File.app.
Análisis de seguridad y vectores de ataque al analizador
Al deserializar archivos INI en objetos, los analizadores deben prevenir la inyección de secciones y la contaminación de prototipos.
Vectores de ataque conocidos
- Inyección INI: un salto de línea en una entrada de usuario crea secciones de configuración no autorizadas.
- Contaminación de prototipos en analizadores INI de JavaScript que asignan valores a «__proto__».
- Denegación de servicio mediante la expansión recursiva y profunda de nombres de sección.
Mejores prácticas defensivas: Valida las entradas de usuario para impedir saltos de línea y prevenir la contaminación de prototipos.
Orígenes históricos e hitos
Ventajas principales
- Su sintaxis es muy sencilla e intuitiva: hasta los usuarios sin conocimientos técnicos pueden leer y modificar los ajustes fácilmente.
- Casi todos los lenguajes de programación incluyen API para analizar INI (configparser de Python, parse_ini_file de PHP, C#).
- Las secciones evitan que coincidan los nombres de ajustes de distintas funciones de una aplicación.
Limitaciones técnicas
- No existe una norma internacional formal: los caracteres de comentario (; o #) y las reglas de escape varían según el analizador.
- Su jerarquía es plana: no admite matrices muy anidadas ni objetos complejos sin delimitadores personalizados.
- Todos los valores se leen como cadenas, así que las aplicaciones deben convertir manualmente los números, valores booleanos y decimales.
Curiosidades técnicas interesantes
- En Windows 3.1, todos los ajustes del sistema operativo se guardaban en solo dos archivos: WIN.INI y SYSTEM.INI.
- Git usa el formato INI en el archivo de configuración principal del repositorio, ubicado en «.git/config».
- Los archivos de accesos directos de Linux (.desktop, según la especificación XDG Desktop Entry) usan la sintaxis INI estándar.
Preguntas técnicas frecuentes
¿Para qué se utiliza un archivo INI?
Los programas de escritorio, los juegos y las herramientas de desarrollo, como la configuración de Git y PHP.ini, usan archivos INI para guardar preferencias y ajustes en un formato fácil de leer.
¿Cómo puedo editar un archivo INI?
Puedes abrir y editar archivos INI con cualquier editor de texto básico, como el Bloc de notas, TextEdit o VS Code, o hacerlo directamente en File2File.app.
¿Puedo convertir INI a JSON o YAML?
Sí. File2File.app convierte archivos INI a JSON, YAML o TOML directamente en el navegador.