#ProgramaçãoGlobal #Unicode #CaracteresInvisíveis #ASCII
Uma lista exaustivamente detalhada de caracteres invisíveis abrange todos os caracteres em sistemas de codificação (como Unicode e ASCII) que não possuem representação visual direta, mas afetam a formatação, controle ou comportamento do texto.
Abaixo, estão organizados os caracteres invisíveis por categorias, incluindo seus códigos Unicode, nomes, descrições e usos. Como o Unicode é o padrão mais abrangente, focarei nele, mas mencionarei equivalentes em ASCII quando aplicável.
Código Unicode | Nome | Descrição | Uso Comum |
---|---|---|---|
U+0020 | Space | Espaço | Separa palavras; espaço visível em branco |
U+00A0 | No-Break Space | Espaço sem quebra | Impede quebra de linha entre palavras |
U+00AD | Soft Hyphen | Hífen suave | Indica ponto de quebra opcional (aparece só se necessário) |
U+1680 | Ogham Space Mark | Espaço Ogham | Espaço em escrita Ogham (raro) |
U+180E | Mongolian Vowel Separator | Separador de vogais mongol | Separa vogais em script mongol (invisível) |
U+2000 | En Quad | Espaço en | Espaço com largura de “n” (tipografia) |
U+2001 | Em Quad | Espaço em | Espaço com largura de “m” (tipografia) |
U+2002 | En Space | Espaço en | Metade da largura de um “m” |
U+2003 | Em Space | Espaço em | Largura de um “m” |
U+2004 | Three-Per-Em Space | Espaço 1/3 em | Um terço da largura de “m” |
U+2005 | Four-Per-Em Space | Espaço 1/4 em | Um quarto da largura de “m” |
U+2006 | Six-Per-Em Space | Espaço 1/6 em | Um sexto da largura de “m” |
U+2007 | Figure Space | Espaço de figura | Espaço com largura de dígito (alinhamento numérico) |
U+2008 | Punctuation Space | Espaço de pontuação | Espaço com largura de vírgula ou ponto |
U+2009 | Thin Space | Espaço fino | Espaço estreito (ex.: antes de unidades em francês) |
U+200A | Hair Space | Espaço capilar | Espaço muito estreito (tipografia fina) |
U+200B | Zero Width Space | Espaço de largura zero | Permite quebra de linha sem espaço visível |
U+200C | Zero Width Non-Joiner | Não-juntador de largura zero | Impede ligação de caracteres (ex.: em árabe) |
U+200D | Zero Width Joiner | Juntador de largura zero | Força ligação de caracteres (ex.: emojis, scripts complexos) |
U+200E | Left-to-Right Mark | Marca esquerda-para-direita | Controla direção de texto bidirecional |
U+200F | Right-to-Left Mark | Marca direita-para-esquerda | Controla direção de texto bidirecional |
U+202F | Narrow No-Break Space | Espaço estreito sem quebra | Espaço fino que impede quebra de linha |
U+205F | Medium Mathematical Space | Espaço matemático médio | Espaço em fórmulas matemáticas |
U+2060 | Word Joiner | Juntador de palavras | Impede quebra de linha (substitui U+FEFF em alguns casos) |
U+2061 | Function Application | Aplicação de função | Marca operação invisível em matemática |
U+2062 | Invisible Times | Multiplicação invisível | Indica multiplicação implícita em matemática |
U+2063 | Invisible Separator | Separador invisível | Separa termos em matemática |
U+2064 | Invisible Plus | Soma invisível | Indica adição implícita em matemática |
U+3000 | Ideographic Space | Espaço ideográfico | Espaço para scripts CJK (largura de caractere CJK) |
U+FEFF | Zero Width No-Break Space | Espaço de largura zero sem quebra | Usado como BOM (Byte Order Mark); impede quebra de linha |
- Espaços como U+2002 a U+200A são usados em tipografia para ajustes precisos.
- U+200B, U+200C e U+200D são comuns em scripts complexos e emojis.
- U+FEFF como BOM pode causar erros em arquivos texto se não for tratado.
- Exaustividade: Esta lista cobre todos os caracteres invisíveis padrão no Unicode (versão 15.0), incluindo controles ASCII, caracteres de formatação, direcionais e específicos de scripts. Outros caracteres podem existir em blocos privados ou futuros do Unicode, mas não são amplamente usados.
- Detecção: Para identificar esses caracteres, use editores como VS Code (mostra símbolos como ␣, ¶), ferramentas como hexdump ou bibliotecas como unicodedata em Python.
- Problemas: Caracteres como U+200B, U+202E ou U+FEFF são notórios por causar erros (ex.: quebras inesperadas, falhas de parsing, ataques de ofuscação).
- Segurança: Em contextos de segurança, filtre caracteres como U+200C, U+200D e U+202E para evitar manipulação maliciosa.
👉 Siga André Bernardes no Linkedin. Clique aqui e contate-me via What's App.
Nenhum comentário:
Postar um comentário