Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
Code Web par étapes
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Françoise Conil
Code Web par étapes
Commits
8a743a51
Commit
8a743a51
authored
2 years ago
by
Françoise Conil
Browse files
Options
Downloads
Patches
Plain Diff
Quelques corrections aux informations sur les encodages (typos et formulations)
parent
9f828d0d
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/encodages.md
+15
-14
15 additions, 14 deletions
doc/encodages.md
with
15 additions
and
14 deletions
doc/encodages.md
+
15
−
14
View file @
8a743a51
# Encodages
L'
[
encodage de caractères
](
https://en.wikipedia.org/wiki/Character_encoding
)
L'
[
encodage de caractères
](
https://en.wikipedia.org/wiki/Character_encoding
)
,
c'est associer des nombres à des caractères graphiques dont les lettres
utilisées dans les différentes écritures.
...
...
@@ -11,11 +11,11 @@ Aujourd'hui, l'encodage [utf-8](https://en.wikipedia.org/wiki/UTF-8) est
largement utilisé.
Auparavant, l'encodage
[
latin1
](
https://en.wikipedia.org/wiki/ISO/IEC_8859-1
)
était très utilisé. Il permettait d'avoir les caractères de base et
une bonne
partie des
caractères accentués européens.
était très utilisé. Il permettait d'avoir les caractères de base et
plusieurs
caractères accentués européens.
Windows utilise historiquement un encodage similaire au latin1 mais différent
[
Windows-1252
](
https://en.wikipedia.org/wiki/Windows-1252
)
.
:
[
Windows-1252
](
https://en.wikipedia.org/wiki/Windows-1252
)
.
Les pages web que l'on a vues sont encodées en
**utf-8**
.
...
...
@@ -28,12 +28,12 @@ L'article [How does UTF-8 turn “😂” into “F09F9882”?](https://sethmlar
explique le fonctionnement de cet encodage qui utilise un nombre variable
d'octets pour représenter les caractères.
Grâce à Unicode et utf-8, on peut utiliser tous les ca
a
ractères que l'on
Grâce à Unicode et utf-8, on peut utiliser tous les caractères que l'on
souhaite dans une page, ce qui n'était pas possible avec les anciens encodages
comme latin1
et autres anciens encodages
.
comme latin1.
Le caractère "è" est par exemple
associé à l'entier
`232`
, soit
`0xe8`
en
[
hexadécimal
](
https://fr.wikipedia.org/wiki/Syst%C3%A8me_hexad%C3%A9cimal
)
Prenons comme exemple, le caractère "è"
associé à l'entier
`232`
, soit
`0xe8`
en
[
hexadécimal
](
https://fr.wikipedia.org/wiki/Syst%C3%A8me_hexad%C3%A9cimal
)
```
python
>>>
ord
(
"
è
"
)
...
...
@@ -46,13 +46,13 @@ En latin1, les caractères sont codés sur un octet et on verra bien `0xe8` pour
le caractère "è".
```
python
>>>
"
è
"
.
encode
(
"
latin1
"
>>>
"
è
"
.
encode
(
"
latin1
"
)
b
'
\xe8
'
```
En utf-8, les caractères dont la valeur est supérieure ou égale à
`0x80`
sont
codés sur 2 octets. Une partie des octets sert à indiquer
quelle catégor
ie d
e
caractère est encodé.
codés sur 2 octets. Une partie des octets sert à indiquer
sur comb
ie
n
d
'octets
un
caractère est encodé.
```
python
>>>
"
è
"
.
encode
(
"
utf-8
"
)
...
...
@@ -66,8 +66,9 @@ décodant comme du latin1, on obtient des caractères erronés : ouvrir
Dans l'encodage du caractère "è" sur 2 octets, les 3 premiers bits du premier
octet sont
`110`
, les 2 premiers bits du 2ème octet sont
`10`
.
Lorsque l'on récupère les 11 bits qui codent le nombre associé au caractère
"è",
`00011101000`
on retrouve bien l'entier 232 (0xe8 en hexadécimal).
Lorsque l'on récupère les 11 autres bits qui codent le nombre associé au
caractère "è" :
`00011`
+
`101000`
=>
`00011101000`
, on retrouve bien l'entier
232 (0xe8 en hexadécimal).
```
python
>>>
bin
(
0xc3a8
)
...
...
@@ -87,7 +88,7 @@ utf-8 en latin1.
$
iconv
-f
utf-8
-t
latin1 basic_utf8.html
-o
basic_latin1.html
```
##
Visualiser l'encodage utilisé
##
Visualiser l'encodage utilisé
Pourquoi le codage est-il différent en latin1 et en utf-8 ? À cause de la
longueur variable des caractères.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment