111 lines
2.0 KiB
Markdown
111 lines
2.0 KiB
Markdown
# Exemples / DO-DON'T — Chapitre 21 — Strings, Unicode et encodages
|
|
|
|
> Document compagnon non normatif tant qu'une règle n'est pas explicitement référencée comme normative par le chapitre.
|
|
|
|
## Exemples actuellement présents dans le chapitre
|
|
|
|
### Exemple 1
|
|
|
|
```text
|
|
Utf8String
|
|
Utf16String
|
|
Utf32String
|
|
AsciiString éventuel
|
|
Bytes
|
|
```
|
|
|
|
### Exemple 2
|
|
|
|
```text
|
|
byte
|
|
code unit
|
|
Unicode scalar
|
|
code point
|
|
grapheme cluster
|
|
```
|
|
|
|
### Exemple 3
|
|
|
|
```text
|
|
'A'
|
|
'é'
|
|
'中'
|
|
'😀'
|
|
'\n'
|
|
'\u{1F600}'
|
|
```
|
|
|
|
### Exemple 4
|
|
|
|
```text
|
|
"..." String normale, escapes actifs
|
|
"""...""" String normale multiligne
|
|
r"..." String brute
|
|
r"""...""" String brute multiligne
|
|
i"..." String interpolée
|
|
i"""...""" String interpolée multiligne
|
|
ir"..." interpolation + contenu brut, réservé
|
|
b"..." bytes, réservé
|
|
br"..." bytes bruts, réservé
|
|
u8"..." texte encodé UTF-8 explicitement, réservé
|
|
u16"..." texte encodé UTF-16 explicitement, réservé
|
|
u32"..." texte encodé UTF-32 explicitement, réservé
|
|
c"..." chaîne compatible C, réservé
|
|
cr"..." chaîne C brute, réservé
|
|
t"..." template structuré, réservé
|
|
```
|
|
|
|
### Exemple 5
|
|
|
|
```text
|
|
i"Hello {name}"
|
|
i"Hello ${name}"
|
|
```
|
|
|
|
### Exemple 6
|
|
|
|
```text
|
|
"""
|
|
first
|
|
second
|
|
"""
|
|
```
|
|
|
|
### Exemple 7
|
|
|
|
```text
|
|
r"simple"
|
|
r#"He said "hello"."#
|
|
r##"contains "# inside"##
|
|
```
|
|
|
|
### Exemple 8
|
|
|
|
```text
|
|
r"""..."""
|
|
r#"""..."""#
|
|
```
|
|
|
|
### Exemple 9
|
|
|
|
```text
|
|
\\ backslash
|
|
\" double quote
|
|
\' single quote
|
|
\n newline
|
|
\r carriage return
|
|
\t horizontal tab
|
|
\0 NUL
|
|
\u{...} Unicode scalar
|
|
```
|
|
|
|
### Exemple 10
|
|
|
|
```text
|
|
b"\x00\x7f\x80\xff"
|
|
```
|
|
|
|
## DO / DON'T / WHY / compiler error / edge cases
|
|
|
|
La couverture structurée de cette section sera enrichie au fur et à mesure de la fermeture des règles du chapitre. La migration `0.2.12` conserve volontairement les exemples historiques dans le chapitre afin de ne perdre aucun contexte normatif.
|