Csere karakter | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
� | ||||||||||||
Kép
|
||||||||||||
|
||||||||||||
Jellemzők | ||||||||||||
Név | helyettesítő karakter | |||||||||||
Unicode | U+FFFD | |||||||||||
HTML kód | � vagy � | |||||||||||
UTF-16 | 0xFFFD | |||||||||||
URL kód | %EF%BF%BD |
A helyettesítő karakter � egy számítástechnikai karakter, amelyet akkor használnak, ha egy karakter jelentése ismeretlen, vagy nem fejezhető ki Unicode -ban .
Ez a karakter az U+FFFD [1] pozícióban van a Speciális karakterek csoportban. Ez a Basic Multilingual Plane legutolsó karaktere (a következő U+FFFE és U+FFFF pozíciókat nem foglalják el karakterek, hanem hibajelentésre használják) [2] .
Ez a szimbólum úgy néz ki, mint egy fekete gyémánt, benne egy kérdőjel . Ez egy kérdőjeles piktogramra hasonlít , és az ismeretlent, a bizonytalanságot jelöli. A Quivira betűtípus szélei körül fekete keret található, elválasztva a gyémánttól. Ez a szimbólumot még inkább piktogrammá teszi.
A karaktert más kódolásból Unicode-ba konvertált szövegek megjelenítésekor használják , jelezve, hogy a forrásszöveg karakterének nincs Unicode megfelelője [2] . Ez a helytelen karakterkódolási beállítások miatt fordulhat elő.
Tegyük fel, hogy van egy szöveges fájlunk, amely egy német szót fürtartalmaz ISO 8859-1 kódolásban. Ezt a szöveges fájlt az interneten keresztül küldték el egy olyan felhasználónak, akinek az alapértelmezett kódolása UTF-8. Az első bájt ( 0x66) 0x00-0x7F között van, az UTF-8 helyesen "f"-ként jeleníti meg. A második bájt ( 0xFC) nem érvényes érték az UTF-8 egyik karakterének elején sem, ezért a böngésző egy helyettesítő karaktert jelenít meg e bájt helyett, hogy figyelmeztesse a felhasználót, hogy valami hiba történt. A harmadik bájt ( 0x72) szintén 0x00-0x7F-en belül van, az UTF-8 helyesen "r"-ként jeleníti meg. És az egész szó a következőként jelenik meg: f�r.
A szövegszerkesztő képes megjeleníteni a helyettesítő karaktert UTF-8-ban, és amikor visszaküldi a fájlt az ISO 8859-1 szabványnak, akkor ezt a karaktert három karakter inkoherens kombinációja váltja fel: . Ennek az az oka, hogy az UTF-8 helyettesítő karakter a . 0xEF - ï, 0xBF - ¿, 0xBD - ½, és együtt - �. f�r0xEF 0xBF 0xBD
A Java programozási nyelvben az U+FFFD pozíciót hagyományosan NaN jelölésére használják , ami nem felel meg a Unicode értéknek [2] .