# Códigos de Caracteres Unicode

Você pode especificar caracteres Unicode, para constantes do tipo caractere individuais ou como parte de constantes do tipo string (veja [*Constantes do Tipo String*](/manual-da-linguagem-gnu-c/12.-constantes/constantes-do-tipo-string.md)), usando sequências de escape; e até mesmo em identificadores C. Use a sequência de escape ‘\u’ com um código Unicode hexadecimal de 16 bits. Se o valor do código for grande demais para 16 bits, use a sequência de escape ‘\U’ com um código Unicode hexadecimal de 32 bits. (Esses códigos são chamados de nomes universais de caracteres.) Por exemplo:

```c
\u6C34      /* Código de 16 bits (UTF-16) */
\U0010ABCD  /* Código de 32 bits (UTF-32) */
```

Uma forma de utilizá-los é em constantes do tipo string UTF-8 (veja [*Constantes do Tipo String UTF-8*](/manual-da-linguagem-gnu-c/12.-constantes/constantes-do-tipo-string-utf-8.md)). Por exemplo:

```c
u8"fóó \u6C34 \U0010ABCD"
```

Você também pode usá-los em constantes do tipo caractere largo (veja *Constantes do Tipo Caractere Largo*), como neste exemplo:

```c
u'\u6C34'      /* Código de 16 bits */
U'\U0010ABCD'  /* Código de 32 bits */
```

E em constantes do tipo string larga (veja *Constantes do Tipo String Larga*), como neste exemplo:

```c
u"\u6C34\u6C33"  /* Código de 16 bits */
U"\U0010ABCD"    /* Código de 32 bits */
```

Além disso, você pode usar esses códigos em um identificador:

```c
int foo\u6C34bar = 0;
```

Os códigos no intervalo de D800 a DFFF não são válidos em Unicode. Códigos menores que 00A0 também são proibidos, exceto pelos códigos 0024, 0040 e 0060; esses caracteres são, na verdade, caracteres de controle ASCII, que você pode especificar com outras sequências de escape (veja [*Constantes de Caracteres*](/manual-da-linguagem-gnu-c/12.-constantes/constantes-de-caracteres.md)).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mentebinaria.gitbook.io/manual-da-linguagem-gnu-c/12.-constantes/codigos-de-caracteres-unicode.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
