Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Zlib
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Título en minúscula}} {{Ficha de software | nombre = zlib | logo = Zlib 3D green.png | lanzamiento = {{Fecha|01|05|1995}} | última_versión = 1.3.2 | fecha_última_versión = {{Fecha|17|02|2026}} | lenguaje_programación = [[C (lenguaje de programación)|C]] | sistema_operativo = [[Multiplataforma]] | género = [[Compresión de datos]] | licencia = [[Licencia Zlib]] | sitio_web = {{URL|//zlib.net/}} }} '''Zlib''' es una [[Biblioteca (informática)|biblioteca de software]] utilizada para la [[Compresión de datos|compresión de]] datos. Fue escrita por Jean-loup Gailly y Mark Adler y es una [[Abstracción (informática)|abstracción]] del algoritmo [[Deflación (algoritmo)|DEFLATE]] de compresión utilizado en el programa de compresión de archivos [[gzip]]. Zlib es también un componente crucial de muchas plataformas de software incluyendo Linux, [[MacOS|Mac OS X]] e iOS. También ha sido utilizado en consolas de videojuegos como la [[PlayStation 4]], [[PlayStation 3]], [[Wii U]], [[Wii]], Xbox One y [[Xbox One|Xbox]] 360. La primera versión pública de zlib, 0.9, fue liberada el 1 de mayo de 1995 y fue originalmente pensada para usarla con la biblioteca [[libpng]]. Es [[software libre]] distribuido bajo la [[Licencia Zlib]]. == Capacidades == === Encapsulación === Los datos comprimidos por zlib típicamente son escritos por un wrapper de gzip o zlib. El wrapper encapsula los datos crudos de DEFLATE añadiendo una cabecera y una cola. Esto proporciona identificación del stream y detección de errores que no son proporcionados en los datos en crudo de DEFLATE. El encabezado de gzip, usado ubicuamente en el formato de fichero gzip, es mayor que la cabecera de zlib debido a que almacena el nombre del fichero y otra información del sistema de ficheros. === Algoritmo === A septiembre de 2018, zlib solo soporta un algoritmo, llamado [[Deflación (algoritmo)|DEFLATE]], que es una variación del algoritmo LZ77 (Lempel–Ziv 1977). Este algoritmo proporciona buena compresión en una amplia variedad de datos con un uso mínimo de recursos de sistema. Es también el algoritmo usado en el [[Formato de compresión ZIP|formato de archivo ZIP]]. El encabezado permite otros algoritmos, pero actualmente ningún otro está implementado. === Uso de recursos === Zlib proporciona facilidades para el control del uso del procesador y de memoria. Se le puede indicar un parámetro para aumentar la velocidad en detrimento de la compresión. También se puede limitar el uso de la memoria. === Estrategia === La compresión puede ser optimizada para ciertos datos. Si usa datos que siempre mantengan cierta estructura, usar una estrategia específica puede mejorar el ratio de compresión y de rendimiento. Por ejemplo, si los datos contienen longitudes largas de bytes repetidos, la estrategia RLE ([[Run-length encoding|codificación RLE]]) puede dar buenos resultados de velocidad. Para datos generales, la configuración por defecto es la preferida. === Gestión de errores === Los errores en los datos comprimidos pueden ser detectados y saltados. Además, si se escriben puntos "full-flush" a la secuencia comprimida, los datos corruptos pueden ser omitidos y la descompresión se resincronizará en el siguiente punto "full-flush" aunque no se proporcionan mecanismos de recuperación de los errores en los datos. Este tipo de puntos son útiles para grandes secuencias de datos en canales no confiables, donde cierta pérdida de datos no es importante, como en algunas aplicaciones multimedia. Sin embargo, crear muchos de estos "flush-points" puede afectar a la velocidad y al ratio de compresión. === Longitud de datos === No hay ningún límite a la longitud de datos que pueden ser comprimidos o descomprimidos. Repetidas llamadas a la biblioteca permiten un ilimitado número de bloques de datos. Algunos contadores pueden sufrir de desbordamiento de buffers pero esto no afecta la compresión o descompresión. Cuando el conjunto de datos es muy largo(o infinito) se recomienda regularmente escribir puntos "full-flush". == Aplicaciones == Hoy, zlib es un estándar ''[[de facto]]'', al punto que zlib y DEFLATE son a menudo usados indistintamente en documentos, con miles de aplicaciones que confían en su compresión, directamente o indirectamente.<ref>{{Obra citada|título=zlib Applications|apellidos=Gailly|nombre=Jean-loup|url=https://zlib.net/apps.html|fecha=18 de abril de 2002|apellidos2=Adler|nombre2=Mark}}</ref> Esto incluye: * Al [[núcleo Linux]], donde zlib es usado en protocolos de red, [[Sistema de archivos|sistemas de archivo]] , y para descomprimir el núcleo cuando inicial el sistema operativo. * [[GNU Binutils]] y el [[GNU Debugger|Depurador GNU]] (GDB) * [[libpng]], la [[implementación de referencia]] para el formato de imagen PNG, el cual especifica DEFLATE como la compresión para sus datos [[Gráfico rasterizado|bitmap]]. * libwww, una API para aplicaciones web como [[Navegador web|navegadores Web]]. * El [[Servidor HTTP Apache]], el cual utiliza zlib para implementar HTTP/1.1. * El cliente y servidor [[OpenSSH]], los cuales usan en zlib la compresión ofrecida por el protocolo de Secure Shell. * Los proyectos [[OpenSSL]] y [[GnuTLS]], los cuales pueden utilizar zlib para comprimir conexiones TLS. * La biblioteca multimedia [[FFmpeg]], la cual utiliza zlib para leer y escribir datos en DEFLATE, como por ejemplo en [[Matroska]]. * El sincronizador de archivo remoto rsync, el cual utiliza zlib para comprimir los datos. * Los [[Sistema de gestión de paquetes|gestores de paquetes]] [[dpkg]] y [[RPM Package Manager|RPM]], los cuales utilizan zlib para desempaquetar archivos de los paquetes de software comprimido. * Los sistemas de control de versiones [[Subversion (software)|Subversion]] y [[CVS]], los cuales utilizan zlib para comprimir el tráfico desde y hacia los repositorios remotos. * El sistema de [[control de versiones]] [[Git]] utiliza zlib para almacenar los contenidos de sus objetos de datos (blobs, árboles, commits y etiquetas). * El [[Sistema de gestión de bases de datos relacionales|RDBMS]] [[PostgreSQL]] usa zlib como formato de exportación(pg_dump -Fc) para copias de seguridad de la base de datos. * La clase.IO.Compresión.DeflateStream del framework [[Microsoft .NET]] 2.0 o superior.<ref>[https://msdn.microsoft.com/en-us/library/system.io.compression.deflatestream(v=vs.110).aspx System.IO.Compression.DeflateStream]. MSDN Library.</ref> * La utilidad "deflate" en TORNADO como parte de [[VxWorks]], el sistema operativo hecho por [[Wind River Systems]], utiliza zlib para comprimir la imagen de arranque ROM. zlib es también utilizado en muchos dispositivos embebidos, como el iPhone de Apple y la [[PlayStation 3|Sony PlayStation 3]], porque el código es portátil, tiene licencia libre, y poco uso de memoria. == Véase también == * [[Deflación (algoritmo)|DEFLATE]] * [[gzip]] * [[LZ77]] * [[Formato de compresión ZIP|Zip]] (formato de archivo) * [[Zlib License|zlib Licencia]] == Referencias == {{Listaref}} == Enlaces externos == * {{Página web|zlib.net}} * [https://tools.ietf.org/html/rfc1950 1950—ZLIB] Formato de Dato Comprimido * [https://tools.ietf.org/html/rfc1951 1951—DEFLATE] Formato de Dato Comprimido * [https://tools.ietf.org/html/rfc1952 1952—GZIP] formato de archivo * [http://code.google.com/p/miniz/ miniz.c], un solo-fuente-archivo, implementación de código libre de la API zlib para sistemas embebidos y uso limitado de memoria {{Control de autoridades}} [[Categoría:Software de 1995]] [[Categoría:Bibliotecas de C]] [[Categoría:Compresores de datos libres]] [[Categoría:Software libre programado en C]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Zlib
»
Añadir idiomas
Añadir tema