Saltar a contenido

Apéndice C — Secuencias de Escape y Caracteres Especiales

Secuencias de escape estándar

Secuencia Significado Valor (ASCII)
\n Nueva línea (line feed) 10
\t Tabulación horizontal 9
\r Retorno de carro 13
\0 Carácter nulo (fin de cadena) 0
\\ Barra invertida 92
\' Comilla simple 39
\" Comilla doble 34
\a Alerta (campana) 7
\b Retroceso (backspace) 8
\f Avance de página (form feed) 12
\v Tabulación vertical 11
\? Signo de interrogación 63
\nnn Carácter en octal —
\xhh Carácter en hexadecimal —
\uXXXX \UXXXXXXXX Punto de código Unicode (C99) —
printf("Tabula\taquí\n");
printf("Octal: \101  Hex: \x42\n");   // 'A'  'B'
char campana = '\a';

Sobre codificación de caracteres

  • char representa un byte, no necesariamente un «carácter» visible.
  • El texto moderno usa UTF-8, donde un carácter puede ocupar varios bytes; strlen cuenta bytes, no caracteres Unicode.
  • C11 añadió char16_t/char32_t (<uchar.h>) y los prefijos u8"...", u"...", U"...", L"..." para literales.

UTF-8 por defecto

Trata las cadenas como bytes UTF-8 y evita conversiones innecesarias. Para operaciones conscientes de Unicode (longitud en grapheme clusters, normalización) usa una biblioteca como ICU o utf8proc.

Relacionado: Capítulo 5 (cadenas).