चार मुख्य मोड
प्रत्येक मोड अक्षरांच्या श्रेणीच्या बदल्यात घनता देतो. न्यूमेरिक मोड फक्त अंक हाताळतो, पण तीन अंक 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 हेडर तो स्पष्टपणे जाहीर करू शकते. ते नसेल, तर रीडर कधीकधी चुकीचा अंदाज बांधू शकतो आणि गडबडलेली अक्षरे दाखवू शकतो.