Tema: unicode
-
Offsets de texto em JavaScript: distinga unidades UTF-16, pontos de código e caracteres visíveis
Indique a unidade do offset em cada fronteira de editor ou de API e converta de forma deliberada antes de cortar o texto.
-
Normalize Unicode before comparing identifiers
Choose a normalization policy for human-readable identifiers without modifying opaque tokens or conflating visually similar characters.
-
Texto invisível e reordenado: caracteres de controle bidirecional, tag characters e confusáveis em código e prompts
O Unicode permite que um texto contenha caracteres que um revisor não vê ou que alteram a ordem do que é exibido. Controles bidirecionais podem fazer o código-fonte ser lido de um jeito e compilado de outro, tag characters podem esconder instruções que o modelo ainda recebe, e confusáveis imitam identificadores. A detecção deve examinar os code points, não a renderização.
-
Armadilhas do SMS: codificação GSM-7 versus UCS-2 e segmentos de mensagem
Um SMS comporta 140 bytes: 160 caracteres em GSM-7 ou 70 em UCS-2. Um único caractere fora do GSM-7 (aspas tipográficas, um emoji) faz a mensagem inteira passar para UCS-2; textos mais longos são divididos em segmentos de 153 ou 67 caracteres, normalmente cobrados separadamente pelos provedores. Conte os segmentos antes de enviar e normalize a pontuação.
-
Collations no PostgreSQL: libc, ICU e o provider builtin, e por que uma atualização de biblioteca pode corromper um índice
Uma collation define como o texto é ordenado e comparado; o PostgreSQL a obtém de um provider (libc, ICU ou as ordenações builtin C e C.UTF-8, por ponto de código), fixa o padrão por banco de dados na criação e permite sobrescrevê-la por coluna ou expressão. As collations de idioma de libc ou ICU mudam quando a biblioteca muda, o que invalida índices B-tree sobre texto; por isso, escolha o provider com critério e execute reindex após atualizações do sistema operacional ou do ICU.
-
Estrutura MIME de um e-mail: multipart/alternative, a parte em texto simples e as codificações
Uma mensagem com texto e HTML é um multipart/alternative cujas partes seguem da mais simples à mais rica (text/plain primeiro, text/html por último); corpos com bytes não ASCII usam quoted-printable ou base64, e os cabeçalhos usam encoded-words da RFC 2047. Gere a parte em texto a partir dos mesmos dados do HTML, escape as variáveis e respeite os limites de tamanho de linha.
Legível por máquina: JSON