నాలుగు ప్రధాన మోడ్లు
ప్రతి మోడ్ అక్షరాల పరిధిని సాంద్రతతో మార్పిడి చేస్తుంది. సంఖ్యా మోడ్ అంకెలను మాత్రమే నిర్వహిస్తుంది, కానీ మూడు అంకెలను 10 బిట్లలో ఇముడ్చుతుంది; బైట్ మోడ్ ఏ బైట్నైనా నిర్వహిస్తుంది, కానీ ఒక్కోదానికి 8 బిట్లు ఖర్చు చేస్తుంది.
ఆల్ఫాన్యూమరిక్ మోడ్ 45 అక్షరాల సమితిని కవర్ చేస్తుంది: అంకెలు 0–9, పెద్ద అక్షరాలు A–Z, ఖాళీ (స్పేస్), $ % * + - . / చిహ్నాలు, కోలన్. చిన్న అక్షరాలు ఆ సమితిలో లేవు; అందుకే పూర్తిగా పెద్ద అక్షరాల URL, అదే URLను చిన్న అక్షరాల్లో రాసినదానికంటే చిన్న కోడ్ను ఇవ్వగలదు.
- సంఖ్యా: అంకెలు 0–9, 3 అంకెలకు 10 బిట్లు
- ఆల్ఫాన్యూమరిక్: 45 అక్షరాలు, 2 అక్షరాలకు 11 బిట్లు
- బైట్: ఏ 8-బిట్ విలువైనా, ప్రతి బైట్కు 8 బిట్లు
- కాంజీ: Shift JIS డబుల్-బైట్ అక్షరాలు, ఒక్కోదానికి 13 బిట్లు
మోడ్ సూచికలు, సెగ్మెంట్లు
ప్రతి డేటా శ్రేణి 4-బిట్ మోడ్ సూచికతో, అక్షరాల లెక్కతో మొదలవుతుంది; లెక్క పొడవు మోడ్, వెర్షన్పై ఆధారపడుతుంది. కోడ్లో ఇలాంటి అనేక సెగ్మెంట్లు ఉండవచ్చు, ఉదాహరణకు పొడవైన అంకెల శ్రేణికి సంఖ్యా, మిగతావాటికి బైట్; దానివల్ల ఫలితం చిన్నదవుతుంది.
ఇతర 4-బిట్ సూచికలు అక్షర సమితులను కాకుండా ఫీచర్లను సూచిస్తాయి: అక్షర ఎన్కోడింగ్ను ప్రకటించడానికి ECI, డేటాను కోడ్ల మధ్య పంచడానికి స్ట్రక్చర్డ్ అపెండ్, GS1, ఇతర పరిశ్రమ డేటా ఫార్మాట్ల కోసం FNC1. నాలుగు సున్నా బిట్ల టెర్మినేటర్ డేటాను ముగిస్తుంది.
- సంఖ్యా 0001, ఆల్ఫాన్యూమరిక్ 0010, బైట్ 0100, కాంజీ 1000
- ECI 0111, స్ట్రక్చర్డ్ అపెండ్ 0011
- FNC1 మొదటి స్థానం 0101, రెండో స్థానం 1001
- టెర్మినేటర్ 0000
బైట్ మోడ్, అక్షర సమితులు
ప్రమాణం బైట్ మోడ్కు ఇచ్చే డిఫాల్ట్ అర్థం ISO-8859-1 (Latin-1), కానీ ఈ రోజుల్లో చాలా జనరేటర్లు UTF-8 రాస్తాయి; అందువల్ల యాక్సెంట్ అక్షరాలు, ఇతర లిపులు, ఎమోజీలు నిలిచి ఉంటాయి. రీడర్లు సాధారణంగా బైట్లను పరిశీలించి UTF-8ను గుర్తిస్తాయి.
అక్షర సమితి సందిగ్ధం లేకుండా ఉండాల్సిన చోట, ECI హెడర్ దాన్ని స్పష్టంగా ప్రకటించవచ్చు. అది లేకపోతే, రీడర్ అప్పుడప్పుడు తప్పుగా ఊహించి, గందరగోళ అక్షరాలను చూపవచ్చు.