Tema: unicode
-
Desplazamientos de texto en JavaScript: distinguir unidades UTF-16, puntos de código y caracteres visibles
Nombrar la unidad de desplazamiento en cada límite de editor o de API, y convertir de forma deliberada antes de recortar el texto.
-
Normalizar Unicode antes de comparar identificadores
Elegir una política de normalización para identificadores legibles por humanos sin modificar tokens opacos ni confundir caracteres visualmente similares.
-
Texto invisible y reordenado: controles bidireccionales, caracteres de etiqueta y confusables en código y prompts
Unicode permite que un texto contenga caracteres que quien revisa no puede ver o que reordenan lo que se muestra. Los controles bidireccionales pueden hacer que el código fuente se lea de forma distinta a como se compila, los caracteres de etiqueta pueden ocultar instrucciones que un modelo sigue recibiendo, y los confusables imitan identificadores. Detectarlos exige examinar los puntos de código, no la representación visual.
-
Trampas de los SMS: codificación GSM-7 frente a UCS-2 y segmentos de mensaje
Un SMS transporta 140 bytes: 160 caracteres en GSM-7 o 70 en UCS-2. Un solo carácter fuera de GSM-7 (unas comillas tipográficas, un emoji) hace que todo el mensaje pase a UCS-2; los textos más largos se dividen en segmentos de 153 o 67 caracteres que los proveedores suelen facturar por separado. Cuente los segmentos antes de enviar y normalice la puntuación.
-
Collations en PostgreSQL: libc, ICU y el proveedor builtin, y por qué una actualización de biblioteca puede corromper un índice
Una collation (ordenamiento) decide cómo se ordenan y comparan los textos; PostgreSQL la toma de un proveedor (libc, ICU o los órdenes por punto de código builtin C y C.UTF-8), fija la predeterminada por base de datos al crearla y permite sustituirla por columna o expresión. Las collations de idioma de libc o ICU cambian cuando cambia la biblioteca, lo que invalida los índices B-tree sobre texto; conviene elegir el proveedor con criterio y reindexar tras actualizar el sistema operativo o ICU.
-
Estructura MIME de un correo electrónico: multipart/alternative, la parte de texto plano y las codificaciones
Un mensaje con texto y HTML es un multipart/alternative cuyas partes se ordenan de la más simple a la más rica (text/plain primero, text/html al final); los cuerpos con bytes no ASCII usan quoted-printable o base64, y las cabeceras usan encoded-words de RFC 2047. Genera la parte de texto a partir de los mismos datos que el HTML, escapa las variables y respeta los límites de longitud de línea.
Legible por máquina: JSON