yEnc es un esquema de codificación de binario a texto para transferir archivos binarios en mensajes en Usenet o por correo electrónico . Reduce la sobrecarga sobre los métodos de codificación anteriores basados en US-ASCII mediante el uso de un método de codificación de 8 bits . La sobrecarga de yEnc es a menudo (si cada valor de byte aparece aproximadamente con la misma frecuencia en promedio) tan pequeña como 1–2%, [1] en comparación con la sobrecarga de 33% –40% para métodos de codificación de 6 bits como uuencode y Base64 . yEnc fue desarrollado inicialmente por Jürgen Helbing y su primer lanzamiento fue a principios de 2001. En 2003, yEnc se convirtió en el sistema de codificación estándar de facto para archivos binarios en Usenet.[2] El nombre yEncode es un juego de palabras sobre "¿Por qué codificar?" , ya que la idea es codificar caracteres solo si es absolutamente necesario para cumplir con el estándar de formato de mensaje. [3]
Cómo funciona yEnc
Los cuerpos de los mensajes de correo electrónico y de Usenet estaban destinados a contener solo caracteres ASCII ( RFC 822 o RFC 2822 ). La mayoría de las codificaciones de la competencia representan archivos binarios convirtiéndolos en caracteres ASCII imprimibles, porque la mayoría de los sistemas operativos admiten el rango de caracteres ASCII imprimibles. Sin embargo, dado que esto reduce considerablemente el juego de caracteres disponible, existe una sobrecarga significativa (ancho de banda desperdiciado) en las redes de 8 bits. Por ejemplo, en uuencode y Base64, tres bytes de datos se codifican en cuatro caracteres ASCII imprimibles, lo que equivale a cuatro bytes, una sobrecarga del 33% (sin incluir la sobrecarga de los encabezados). yEnc usa un carácter (un byte) para representar un byte del archivo, con algunas excepciones.
yEnc asume que la mayoría de los datos binarios se pueden transmitir a través de Usenet y correo electrónico. Por lo tanto, 252 de los 256 bytes posibles se pasan sin codificar como un solo byte, ya sea que el resultado sea un carácter ASCII imprimible o no. Solo se escapan NUL , LF , CR y = . LF y CR se escapan porque las RFC que definen los mensajes de Internet aún requieren que los retornos de carro y los avances de línea tengan un significado especial en un mensaje de correo. = es el carácter de escape, por lo que se escapa en sí mismo. NUL también se escapa debido a problemas con el manejo de caracteres nulos en el código común, aunque como optimización yEnc agrega 42 a cada byte de origen, de modo que, no es raro, los tramos largos de cero bytes no requieren mucho escape.
No existe ningún documento RFC u otro estándar que describa yEnc. [4] La página de inicio de yEnc contiene un borrador de especificación informal [ cita requerida ] y una gramática (que contradice RFC 2822 y RFC 2045 ), [ cita requerida ] aunque ninguno de los dos ha sido enviado al Grupo de Trabajo de Ingeniería de Internet . [ cita requerida ]
Al igual que con la codificación uuen, a pesar de sus defectos, yEnc sigue siendo [ ¿cuándo? ] activo y eficaz en Usenet. [ cita requerida ] La página de inicio de yEnc afirma que " todos los lectores de noticias importantes se han extendido al soporte de yEnc ". Microsoft 's Outlook Express , Windows Mail y Windows Live Mail no proporcionan apoyo yEnc, ya sea para noticias o electrónico, pero hay plug-ins disponibles. Mozilla Thunderbird decodificará archivos yEnc de una sola parte, pero no puede combinar binarios de varias partes. [5]
Problemas
Muchos programadores y administradores de noticias han descrito las debilidades de yEnc. [6] [7] [8] [9] Tiene muchas de las mismas fallas que uuencode, algunas de las cuales ya habían sido resueltas años antes por MIME (que abordó las mismas fallas en uuencode). Por ejemplo, yEnc requiere que las cadenas "= ybegin" y "= yend" se coloquen alrededor del archivo codificado en el cuerpo del mensaje. [3] Aunque esto es una mejora con respecto a "begin" y "end" de uuencode, que ocurren con mayor frecuencia en el texto normal, los lectores de mensajes aún pueden encontrar las cadenas fuera de los archivos adjuntos (con mayor frecuencia en discusiones sobre yEnc). yEnc y uuencode [ cita requerida ] también intentan reensamblar archivos divididos en varios mensajes usando la línea de asunto, que no es confiable. [ según quién? ]
Adopción de codificación
El borrador del documento de propuesta de yEncode se puso a disposición el 31 de julio de 2001. [10] En noviembre de ese año se incluyó un codificador y descodificador de referencia en la versión gratuita de MyNews 1.9. [11] yDec, un decodificador win32 gratuito llegó el 14 de noviembre de 2001. El 21 de marzo de 2002, Agent admitió yEnc con la versión 1.91. [12] [13] Debido a los comentarios de Juergen Helbing, el lanzamiento se pospuso una semana. [14] [15] Un par de días después del lanzamiento, Jürgen Helbing escribió que Forté implementó yEnc de la mejor manera imaginable . [dieciséis]
Stuffit Deluxe agregó soporte yEnc con la versión 8.0 en 2003. [17] [18] PowerArchiver 9.2 agregó soporte yEnc en mayo de 2005. [19]
Referencias
- ^ Helbing, Juergen (28 de febrero de 2002). "yEncode - Una codificación rápida y sucia para binarios" . Consultado el 26 de julio de 2014 .
- ^ Becarios, G. (2006). "Los grupos de noticias renacen - El renacimiento de la publicación binaria". Investigación digital . 3 (2): 73–78. doi : 10.1016 / j.diin.2006.04.006 . ISSN 1742-2876 .
- ^ a b Kim, Juhoon; Schneider, Fabian; Ager, Bernhard; Feldmann, Anja (2010). "Uso actual de Usenet: Caracterización del tráfico NNTP". 2010 INFOCOM IEEE Conference on Computer Communications Workshops . págs. 1–6. CiteSeerX 10.1.1.679.6023 . doi : 10.1109 / INFCOMW.2010.5466665 . ISBN 978-1-4244-6739-6.
- ^ Alta definición: una guía de la A a la Z sobre tecnología personal . 2006. p. 353. ISBN 978-0618714896.
Si bien no existen estándares oficiales para yEnc, se usa ampliamente para publicar archivos binarios en grupos de noticias.
- ^ "¿Soporte de Yenc en Thunderbird?" . org.mozilla.lists.support-thunderbird (lista de correo). 18 de mayo de 2006.
- ^ Helbing, Jürgen (10 de junio de 2002). "Oponentes a yEnc" . yenc.org . Archivado desde el original el 28 de agosto de 2013.
- ^ Nixon, Jeremy (17 de marzo de 2002). "Por qué yEnc es malo para Usenet" . Archivado desde el original el 29 de agosto de 2013.
- ^ Welch, Curt (19 de septiembre de 2002). "¿Qué pasa con yEnc?" . Archivado desde el original el 11 de agosto de 2013.
- ^ Färber, Claus (4 de marzo de 2002). "yEnc considerado perjudicial" . Archivado desde el original el 1 de junio de 2009.
- ^ "El borrador original yEnc 1.0" . 31 de julio de 2001.
- ^ Juergen "El Archivador" Helbing. "Nuevas funcionalidades en 1.9" . winews.net .
- ^ "Se libera el agente 1.91" . forteinc.com .
Agent 1.91 proporciona soporte completo para yEnc, un nuevo algoritmo de codificación de Usenet para binarios.
- ^ Spanbauer, Scott (agosto de 2002). "Control de revisión - Últimos ajustes de software (Escuche un mundo de estaciones de radio en Internet)". PC World . 20 (8): 138-139.
La versión 1.92 del lector de noticias Usenet de Forté agrega una carpeta de basura, mejora algunas características existentes y se encarga de varios errores; pero más importante que las correcciones y mejoras es el soporte agregado de la aplicación para el algoritmo de codificación binaria YEnc.
- ^ "El agente 1.91 necesita una semana más" . Forté . 15 de marzo de 2002.
- ^ "Comentarios de Juergen Helbing sobre yEnc y Agent 1.91" . Forté . 17 de marzo de 2002.
- ^ Helbing, Jürgen (22 de marzo de 2002). "Forte Agent 1.91 es compatible con yEnc" .
- ^ Sellers, Dennis (22 de septiembre de 2003). "StuffIt Deluxe 8.0 obtiene nuevos complementos, mejora el rendimiento" . Macworld .
- ^ Breen, Christopher (julio de 2004). "Stufflt Deluxe 8.0". Macworld . 21 (7): 40.
- ^ Richard V. Dragan (4 de mayo de 2005). "Compresión de archivos: PowerArchiver 9.2" .
enlaces externos
- yEnc página de inicio
- yEnc texto de especificación
- "La historia de B-News y su hermano menor, yEnc".
- "Por qué yEnc es bueno para Usenet"