Az alfanumerikus kód csak betűkből és számokból áll. Gyakran használják őket azonosítókban, jelszavakban, termékszámokban, rendszámtáblákon és sorszámokban, mert rövidek és nagy információtartalmúak lehetnek.
Az emberek azonban hibázhatnak, ezért a kódokat úgy tervezik, hogy a gyakori félreolvasásokat és tévedéseket csökkentsék. A betűket és a számokat bizonyos betűk/számok miatt könnyű összetéveszteni. Például az I, O és Q betűk vizuálisan hasonlíthatnak az 1 és 0 számokhoz, ezért sok rendszer ezeket kihagyja a használható karakterkészletből.
- Az utasszállító repülőgépeken az üléseket sorszámmal, majd oszlopbetűvel jelölik. A széles törzsű repülőgépeknél az ülések 10 keresztben lehetnek, ABC-DEFG-HJK felirattal. Az I betűt kihagyjuk, hogy ne tévesszük össze az 1-es sorszámmal.
- A gépjárműgyártók által használt azonosítószámból az I, O és Q betűk kimaradnak. Túlságosan hasonlítanak az 1-hez vagy a 0-hoz.
- Apró dombornyomott betűkkel jelölik a V.35/M34 elektromos csatlakozók csapjait. Az I, O, Q, S és Z betűket az 1, 0, 5, 3, és 2 betűkkel hagyták el, hogy megkönnyítsék a szem megerőltetését. Ezt a DEC ábécének nevezik a cég után, amely először használta.
- A gyakran kézzel írott alfanumerikus számok esetében (az I és O mellett) a V-t azért kerüljük, mert írás közben úgy nézhet ki, mint az U; a Z-t pedig a 2-hez való hasonlósága miatt.
Hol és miért hagyják ki a zavaró karaktereket?
Több iparágban és alkalmazásban tudatosan elhagyják a bizonyos betűket vagy számokat a karakterkészletből, hogy csökkentsék a téves olvasásból és adatbevitelből adódó hibákat. Tipikus példák:
- Jármű-azonosítók (VIN): az I, O és Q általában nem szerepelnek, hogy elkerüljék az 1 és 0 összekeverését.
- Repülőgép üléssorok: egyes légitársaságok kihagyják az I-t (esetenként más betűket is), hogy ne legyen félreértés a számozásnál.
- Csatlakozók és hardverfeliratok: kis, dombornyomott jelöléseknél a DEC-hez hasonló ábécé alkalmazása csökkenti a hibalehetőséget.
- Számlák, kuponkódok, jelszavak és vonalkódok: az egyszerűbb olvashatóság érdekében gyakran alkalmaznak "biztonsági" karakterkészleteket, amelyek kizárják a zavart okozó karaktereket.
Konkrét példák a zavaró karakterekre és alternatívákra
Gyakori összetévesztések:
- 0 (nulla) és O (nagybetű o)
- 1 (egy) és I, illetve kisbetű l (el)
- 2 és Z
- 5 és S
- V és U kézírásnál
Ennek megfelelően sok rendszer egy előre definiált, "biztonságos" karakterkészletet használ. Például olyan kombinációk, mint 23456789ABCDEFGHJKLMNPRSTUVWXYZ, gyakran előfordulnak, mert kihagyják az I, O és Q jellegű problematikus karaktereket. Hasonló megfontolás alapján jöttek létre olyan szabványosított ábécék is, például bizonyos Base32 változatok (például Crockford-féle Base32), amelyek kifejezetten kizárnak néhány zavart okozó karaktert.
A betűk és számok formázása a könnyebb olvashatóságért
Számos technika csökkenti a félreértés esélyét:
- Slashed zero (átvágott nulla) vagy pont a nulla belsejében, hogy megkülönböztessük az O-tól.
- Monospace vagy jól megtervezett fontok használata az azonosíthatóság javítására.
- Elválasztók alkalmazása (pl. kötőjel vagy szóköz minden 3–4 karakter után), hogy könnyebb legyen olvasni és bevinni a kódot.
- Checksum vagy ellenőrző karakter hozzáadása (pl. Luhn algoritmus), amely csökkenti a bevitelből eredő hibák feldolgozási költségét.
Mikor számít a kis-/nagybetű?
A legtöbb alfanumerikus azonosító "case insensitive", azaz nem számít, hogy nagy- vagy kisbetűt használunk; így a felhasználók könnyebben írják be az adatokat. Ugyanakkor számos alkalmazás (különösen jelszavak, kriptográfiai kulcsok és Base62-hez hasonló kódolások) megkülönbözteti a kis- és nagybetűket, így case sensitive működnek. Ez az oka annak, hogy mindig ellenőrizni kell a konkrét rendszer követelményeit.
A Merriam-Webster szótár szerint az "alfanumerikus" kifejezés gyakran más szimbólumokra is utalhat, például írásjelekre és matematikai szimbólumokra. Ez egy sor más lehetőséget és egy sor más zavart nyit meg. Az "alfanumerikus" kifejezést általában nem így használják. A Shorter Oxford English Dictionary a fenti első sorban megadott módon definiálja a kifejezést (bár nem egészen ugyanazokkal a szavakkal).
Végül, az alfanumerikus kódok általában "case insensitive", azaz nem számít, hogy nagybetűvel (nagybetű) vagy kisbetűvel (kisbetű) írja őket — de ez nem törvényszerű: mindig nézze meg az adott rendszer szabályait. Műszaki és tervezési szempontból érdemes előre meghatározni a használható karakterkészletet és a dokumentációban világosan jelezni, ha bizonyos betűk ki vannak zárva a félreolvasás elkerülése érdekében.