การเข้ารหัสเป็นแมประหว่างไบต์และตัวอักษรจากชุดอักขระดังนั้นมันจะเป็นประโยชน์ในการหารือและเข้าใจความแตกต่างระหว่างระหว่างไบต์และตัวอักษร
คิดว่าไบต์เป็นตัวเลขระหว่าง 0 ถึง 255 ในขณะที่ตัวละครเป็นสิ่งที่เป็นนามธรรมเช่น "a", "1", "$" และ "Ä" ชุดของตัวละครทุกตัวที่มีอยู่จะเรียกว่าเป็นชุดตัวอักษร
อักขระแต่ละตัวมีลำดับหนึ่งหรือมากกว่าหนึ่งไบต์ที่ใช้เพื่อแสดง อย่างไรก็ตามจำนวนและค่าที่แน่นอนของไบต์ขึ้นอยู่กับการเข้ารหัสที่ใช้และมีการเข้ารหัสที่แตกต่างกันมากมาย
การเข้ารหัสส่วนใหญ่ขึ้นอยู่กับชุดอักขระเก่าและการเข้ารหัสที่เรียกว่า ASCII ซึ่งเป็นไบต์เดียวต่อตัวอักษร (จริง ๆ แล้วมีเพียง 7 บิต) และมีอักขระ 128 ตัวรวมถึงอักขระทั่วไปจำนวนมากที่ใช้ในภาษาอังกฤษแบบสหรัฐอเมริกา
ตัวอย่างเช่นต่อไปนี้คือ 6 อักขระในชุดอักขระ ASCII ที่แสดงด้วยค่า 60 ถึง 65
Extract of ASCII Table 60-65
╔══════╦══════════════╗
║ Byte ║ Character ║
╠══════╬══════════════║
║ 60 ║ < ║
║ 61 ║ = ║
║ 62 ║ > ║
║ 63 ║ ? ║
║ 64 ║ @ ║
║ 65 ║ A ║
╚══════╩══════════════╝
ในชุด ASCII เต็มรูปแบบค่าต่ำสุดที่ใช้คือศูนย์และสูงสุดคือ 127 (ทั้งคู่เป็นอักขระควบคุมที่ซ่อนอยู่)
อย่างไรก็ตามเมื่อคุณเริ่มต้องการตัวอักษรมากกว่า ASCII พื้นฐานที่มีให้ (เช่นตัวอักษรที่มีเครื่องหมายเน้นเสียงสัญลักษณ์สกุลเงินสัญลักษณ์กราฟิก ฯลฯ ) ASCII ไม่เหมาะและคุณต้องการบางสิ่งที่ครอบคลุมกว่า คุณต้องการอักขระเพิ่มขึ้น (ชุดอักขระที่แตกต่างกัน) และคุณต้องการการเข้ารหัสที่แตกต่างกันเนื่องจากอักขระ 128 ตัวนั้นไม่เพียงพอสำหรับตัวละครทุกตัวการเข้ารหัสบางตัวเสนอหนึ่งไบต์ (256 ตัวอักษร) หรือสูงสุดหกไบต์
เมื่อเวลาผ่านไปมีการสร้างการเข้ารหัสจำนวนมาก ในโลก Windows นั้นมี CP1252 หรือ ISO-8859-1 ในขณะที่ผู้ใช้ Linux มักจะชื่นชอบ UTF-8 Java ใช้ UTF-16 โดยกำเนิด
ลำดับของค่าไบต์สำหรับอักขระในการเข้ารหัสหนึ่งอาจแทนอักขระที่แตกต่างกันอย่างสมบูรณ์ในการเข้ารหัสอื่นหรืออาจไม่ถูกต้อง
ยกตัวอย่างเช่นในมาตรฐาน ISO 8859-1 , âเป็นตัวแทนจากหนึ่งไบต์ของมูลค่า226
ในขณะที่ในUTF-8195, 162
มันเป็นไบต์ที่สอง: อย่างไรก็ตามในมาตรฐาน ISO 8859-1 , 195, 162
จะเป็นตัวละครทั้งสองเป็น¢
เมื่อคอมพิวเตอร์จัดเก็บข้อมูลเกี่ยวกับตัวละครภายในหรือส่งไปยังระบบอื่นพวกเขาจะจัดเก็บหรือส่งไบต์ 195, 162
ลองนึกภาพระบบการเปิดไฟล์หรือรับข้อความเห็นไบต์ มันรู้ได้อย่างไรว่าตัวละครเหล่านี้คืออะไร?
เพื่อให้ระบบตีความไบต์เหล่านั้นเป็นอักขระจริง (และแสดงหรือแปลงเป็นการเข้ารหัสอื่น) จำเป็นต้องทราบการเข้ารหัสที่ใช้ นั่นคือเหตุผลที่การเข้ารหัสปรากฏในส่วนหัวของ XML หรือสามารถระบุในโปรแกรมแก้ไขข้อความ มันบอกระบบการทำแผนที่ระหว่างไบต์และตัวละคร