เดิมทีASCIIถูกสร้างขึ้นมาเป็นรหัส 7 บิต สิ่งนี้ทำได้ดีก่อนที่ไบต์ 8 บิตจะแพร่หลายและกระทั่งในปี 1990 คุณจะพบซอฟต์แวร์ที่คิดว่าสามารถใช้บิตที่ 8 ของข้อความแต่ละไบต์เพื่อจุดประสงค์ของมันเอง ("ไม่ใช่ 8 บิตที่สะอาด") ปัจจุบันคนคิดว่ามันเป็น 8 บิตการเข้ารหัสที่ไบต์ 0x80 ผ่าน 0xFF ไม่มีกำหนดความหมาย แต่ที่retcon
มีการเข้ารหัสข้อความมากมายที่ใช้ประโยชน์จากบิตที่ 8 สามารถจำแนกได้ว่าเข้ากันได้กับ ASCII หรือไม่และความกว้างคงที่หรือตัวแปร เข้ากันได้กับ ASCII หมายความว่าโดยไม่คำนึงถึงบริบทไบต์เดี่ยวที่มีค่าตั้งแต่ 0x00 ถึง 0x7F จะเข้ารหัสอักขระเดียวกันกับที่ทำใน ASCII คุณไม่ต้องการมีส่วนเกี่ยวข้องกับการเข้ารหัสข้อความที่ไม่เข้ากันได้กับ ASCII หากคุณสามารถหลีกเลี่ยงได้ โปรแกรมไร้เดียงสาที่คาดหวัง ASCII มักจะตีความผิดไปในทางหายนะซึ่งมักจะทำลายความปลอดภัย พวกเขาจะเลิกดังนั้นในปัจจุบันว่า (ตัวอย่างเช่น) HTML5 ห้ามการใช้งานของพวกเขาในเว็บสาธารณะมีข้อยกเว้นที่โชคร้ายของUTF-16 ฉันจะไม่พูดถึงพวกเขาอีกแล้ว
การเข้ารหัสความกว้างคงที่หมายถึงสิ่งที่ดูเหมือน: อักขระทั้งหมดถูกเข้ารหัสโดยใช้จำนวนไบต์เท่ากัน เพื่อให้เข้ากันได้กับ ASCII การเข้ารหัสแบบคงที่ต้องเข้ารหัสอักขระทั้งหมดโดยใช้เพียงไบต์เดียวดังนั้นจึงมีอักขระได้ไม่เกิน 256 ตัว ส่วนใหญ่ที่พบบ่อยเช่นการเข้ารหัสในปัจจุบันเป็นของ Windows 1252 , เป็นส่วนหนึ่งของมาตรฐาน ISO 8859-1
ปัจจุบันมีการเข้ารหัสที่เข้ากันได้กับ ASCII ที่มีความกว้างตัวแปรเดียวเท่านั้น แต่สิ่งที่สำคัญมากคือUTF-8ซึ่งรวม Unicode ทั้งหมดไว้ในการเข้ารหัสที่เข้ากันได้กับ ASCII คุณต้องการใช้สิ่งนี้จริงๆถ้าคุณสามารถจัดการได้
ในท้ายที่สุด "ASCII" ในปัจจุบันใช้คำจำกัดความที่ใช้งานได้จริงจาก Unicode ไม่ใช่มาตรฐานดั้งเดิม (ANSI X3.4-1968) เนื่องจากในอดีตมีรูปแบบต่างๆมากมายในตัวละคร ASCII 127 อักขระตัวอย่างเช่นบางส่วนของ เครื่องหมายวรรคตอนอาจถูกแทนที่ด้วยตัวอักษรเน้นเสียงเพื่ออำนวยความสะดวกในการส่งข้อความภาษาฝรั่งเศส ปัจจุบันรูปแบบเหล่านั้นล้าสมัยและเมื่อมีคนพูดว่า "ASCII" หมายความว่าไบต์ที่มีค่า 0x00 ถึง 0x7F เข้ารหัส Unicode codepoints U + 0000 ผ่าน U + 007F สิ่งนี้อาจสำคัญสำหรับคุณหากคุณเคยพบว่าตัวเองกำลังเขียนมาตรฐานทางเทคนิค
หากคุณสนใจประวัติของ ASCII และการเข้ารหัสที่อยู่ก่อนหน้านั้นให้เริ่มด้วยกระดาษ "The Evolution of Character Codes, 1874-1968" (สำเนา samizdat ที่http://falsedoor.com/doc/ascii_evolution-of- character -code.pdf ) จากนั้นไล่ตามข้อมูลอ้างอิง (ซึ่งส่วนใหญ่ไม่มีให้บริการทางออนไลน์และอาจหายากแม้จะเข้าใช้ห้องสมุดมหาวิทยาลัยก็ตามฉันเสียใจที่จะพูด)