33 meneos
163 clics
![UTF-8 es un diseño brillante [ENG]](cache/3e/85/media_thumb-link-4097292.webp?1757946186)
UTF-8 es un diseño brillante [ENG]
La primera vez que aprendí sobre la codificación de UTF-8 me fascinó lo bien pensado y brillantemente diseñado para representar a millones de caracteres de diferentes idiomas y aún así ser compatible con ASCII. Básicamente, UTF-8 usa 32 bits y el antiguo ASCII usa 7 bits, pero UTF-8 está diseñado de tal manera que cada archivo codificado ASCII es un archivo UTF-8 válido, y cada archivo codificado UTF-8 que solo tiene caracteres ASCII es un archivo ASCII válido. Diseñar un sistema que escala a millones de caracteres y que aún sea compatible con los sistemas antiguos que usan solo 128 caracteres es un diseño brillante.
|
Edit: vaya mientras escribía el mensaje han añadido 737 emojis nuevos incluyendo 35 variantes para el acto de mear de pie.
Como curiosidad, en Go un string es una cadena de bytes y puedes acceder mediante un índice como en cualquier lenguaje. El problema está cuando usas caracteres UTF-8 de más de un byte, como explica el artículo. Para poder trabajar con eso inventan el concepto de "runa" que no es más que un int32, 4 bytes, para representar un punto de unicode
goplay.tools/snippet/8uX-j1pmJHj
Es posible .. ya ni me acuerdo de los cambios en concreto, te hablo de principios de los 90, pero es posible que el backslash fuera uno de ellos.
Pero claro, eso era en los PCs, nosotros currabamos en XENIX/UNIX de SCO y con terminales series RS-232 que solo iban con 7 bits y si configurabas el terminal en español lo que hacía era cambiar los gráficos de ciertos caracteres por la Ñ y los acentos (no me acuerdo cuales eran, posiblemente las llaves, corchetes y similares) Total, que en pantalla veías las cosas en español y por la impresora te salían cosas raras como Espa;a o Salchich}n.
El COBOL nos va a enterrar a los dos y a casi todo menéame.
Yo no, pero ahí sigue el jodío.
Personalmente yo hubiese preferido mandar los 8bit a tomar por culo y hacerlo todo UNICODE 32bit y listos. El espacio del texto ya no es un problema y el UTF8 complica algunas cosas. Y para los idiomas orientales como el chino, el UTF-8 no va bien, básicamente porque está todo el rato "encadenando".
UTF-32 está bien conceptualmente, pero se desperdicia demasiado espacio.
UTF-8 tiene longitud variable, es decir si escribes en inglés, ocupará lo mismo que hacerlo en ASCII, pero es que, por ejemplo, en español, como mucho va a ocupar, un 10% más.
Por lo tanto, se puede deducir que UTF-8 es lo mejor para América, Oceanía, África y Europa (quizás no para los idiomas que usan caracteres cirílicos).