Referenz8 Min. Lesezeit

Vollständige Tabelle URL-kodierter Zeichen (ASCII + Unicode)

Vollständige Referenztabelle URL-kodierter Zeichen. Behandelt alle druckbaren ASCII-Zeichen (32-126), gängige Unicode-Zeichen und ihre prozentkodierten Entsprechungen gemäß RFC 3986.

ASCII-Steuer- und Sonderzeichen

ASCII-Zeichen im Bereich 0-31 sowie das Zeichen 127 sind Steuerzeichen. Diese sind nicht druckbar und müssen in URLs stets prozentkodiert werden. Die im URL-Kontext am häufigsten anzutreffenden Steuerzeichen sind das Leerzeichen (ASCII 32), der horizontale Tabulator (ASCII 9) und die Zeilenumbruchzeichen (ASCII 10 und 13).

Gemäß RFC 3986 muss jedes Oktett, das weder ein nicht reserviertes Zeichen, noch ein für seinen reservierten Zweck verwendetes reserviertes Zeichen, noch ein prozentkodiertes Triplett ist, prozentkodiert werden. In der Praxis bedeutet das, dass die meisten nicht alphanumerischen Zeichen in URI-Komponenten kodiert werden sollten.

Zeichen ASCII-Code URL-kodiert Beschreibung
(Tab) 9 %09 Horizontaler Tabulator
(LF) 10 %0A Zeilenvorschub
(CR) 13 %0D Wagenrücklauf
(Leerzeichen) 32 %20 Leerzeichen

Druckbare ASCII-Zeichen

Nachfolgend findest du eine vollständige Referenz aller druckbaren ASCII-Zeichen (Codes 32-126) und ihrer URL-kodierten Formen. Zeichen, die in RFC 3986 als "nicht reserviert" gekennzeichnet sind, müssen nicht kodiert werden. Reservierte Zeichen müssen kodiert werden, wenn sie außerhalb ihres reservierten Zwecks verwendet werden.

Zeichen ASCII Hex URL-kodiert Typ
(Leerzeichen) 32 20 %20 Sonderzeichen
! 33 21 %21 Reserviert
" 34 22 %22 Unsicher
# 35 23 %23 Reserviert
$ 36 24 %24 Reserviert
% 37 25 %25 Sonderzeichen
& 38 26 %26 Reserviert
' 39 27 %27 Reserviert
( 40 28 %28 Reserviert
) 41 29 %29 Reserviert
* 42 2A %2A Reserviert
+ 43 2B %2B Reserviert
, 44 2C %2C Reserviert
- 45 2D %2D Nicht reserviert
. 46 2E %2E Nicht reserviert
/ 47 2F %2F Reserviert
0-9 48-57 30-39 Nicht erforderlich Nicht reserviert
: 58 3A %3A Reserviert
; 59 3B %3B Reserviert
< 60 3C %3C Unsicher
= 61 3D %3D Reserviert
> 62 3E %3E Unsicher
? 63 3F %3F Reserviert
@ 64 40 %40 Reserviert
A-Z 65-90 41-5A Nicht erforderlich Nicht reserviert
[ 91 5B %5B Reserviert
\ 92 5C %5C Unsicher
] 93 5D %5D Reserviert
^ 94 5E %5E Unsicher
_ 95 5F %5F Nicht reserviert
` 96 60 %60 Unsicher
a-z 97-122 61-7A Nicht erforderlich Nicht reserviert
{ 123 7B %7B Unsicher
| 124 7C %7C Unsicher
} 125 7D %7D Unsicher
~ 126 7E %7E Nicht reserviert

Gängige Unicode-Kodierungen

Unicode-Zeichen werden zunächst in ihre UTF-8-Bytefolge kodiert, anschließend wird jedes Byte einzeln prozentkodiert. Mehrbyte-Zeichen erzeugen mehrere prozentkodierte Tripletts.

Zeichen Beschreibung UTF-8-Bytes URL-kodiert
a mit Umlaut Kleiner lateinischer Buchstabe A mit Trema C3 A4 %C3%A4
n mit Tilde Kleiner lateinischer Buchstabe N mit Tilde C3 B1 %C3%B1
e mit Akut Kleiner lateinischer Buchstabe E mit Akut C3 A9 %C3%A9
u mit Umlaut Kleiner lateinischer Buchstabe U mit Trema C3 BC %C3%BC
Euro-Zeichen Euro-Zeichen E2 82 AC %E2%82%AC
Pfund-Zeichen Pfund-Zeichen C2 A3 %C2%A3
Yen-Zeichen Yen-Zeichen C2 A5 %C2%A5
CJK zhong Vereinheitlichtes CJK-Ideogramm (Mitte) E4 B8 AD %E4%B8%AD
Kyrillisches Ja Kyrillischer Großbuchstabe Ja D0 AF %D0%AF
Arabisches Ba Arabischer Buchstabe Ba D8 A8 %D8%A8

Wie Mehrbyte-Zeichen kodiert werden

UTF-8 verwendet ein Kodierungsschema variabler Länge. Zeichen im ASCII-Bereich (0-127) benötigen ein Byte. Zeichen außerhalb dieses Bereichs benötigen zwei bis vier Bytes. Bei der Prozentkodierung wird jedes Byte der UTF-8-Darstellung zu einem eigenen %XX-Triplett.

Zwei-Byte-Zeichen (U+0080 bis U+07FF): Dazu gehören die meisten erweiterten lateinischen, griechischen, kyrillischen und arabischen Zeichen. Der deutsche Buchstabe scharfes s (U+00DF) etwa wird zu den UTF-8-Bytes C3 9F kodiert, die zu %C3%9F werden.

Drei-Byte-Zeichen (U+0800 bis U+FFFF): Dazu gehören CJK-Zeichen, die meisten Symbole und die Basic Multilingual Plane. Das japanische Hiragana-Zeichen (U+3042) etwa wird zu den UTF-8-Bytes E3 81 82 kodiert, die zu %E3%81%82 werden.

Vier-Byte-Zeichen (U+10000 bis U+10FFFF): Dazu gehören Emojis und ergänzende Zeichen. Das Emoji mit grinsendem Gesicht (U+1F600) etwa wird zu den UTF-8-Bytes F0 9F 98 80 kodiert, die zu %F0%9F%98%80 werden.

// JavaScript-Demonstration der Mehrbyte-Kodierung
console.log(encodeURIComponent('u with umlaut'));
// Zwei Bytes: "%C3%BC"

console.log(encodeURIComponent('CJK char'));
// Drei Bytes: "%E4%B8%AD"

console.log(encodeURIComponent('emoji'));
// Vier Bytes: "%F0%9F%98%80"

// Zur Überprüfung kannst du dekodieren
console.log(decodeURIComponent('%C3%BC'));  // u mit Umlaut
console.log(decodeURIComponent('%E4%B8%AD')); // CJK-Zeichen

Verwandte Artikel

Testen Sie unsere kostenlosen Tools