เอเอสซีไอ
ASCII ( / ˈ æ s k i /ⓘ"},"2":{"wt":"kee"}},"i":0}}]}"> ASS"},"2":{"wt":"kee"}},"i":0}}]}"> -kee), [ 3 ] : 6ซึ่งเป็นคำย่อของAmerican Standard Code for Information Interchangeเป็นการเข้ารหัสอักขระสำหรับการแสดงชุดอักขระที่พิมพ์ได้เน้นภาษาอังกฤษและอักขระควบคุมรวมทั้งหมด 128จุดรหัสชุดเครื่องหมายวรรคตอนที่มีอยู่มีผลกระทบอย่างมากต่อไวยากรณ์ของภาษาคอมพิวเตอร์และการทำเครื่องหมายข้อความ ASCII มีอิทธิพลอย่างมากต่อการออกแบบชุดอักขระที่ใช้โดยคอมพิวเตอร์สมัยใหม่ ตัวอย่างเช่น จุดรหัส 128 จุดแรกของUnicodeเหมือนกับ ASCII"},"2":{"wt":"kee"}},"i":0}}]}">
ASCII เข้ารหัสแต่ละโค้ดพอยต์เป็นค่าตั้งแต่ 0 ถึง 127 ซึ่งสามารถจัดเก็บเป็นจำนวนเต็ม เจ็ด บิตได้[ 4 ]มีโค้ดพอยต์ที่พิมพ์ได้ 95 ตัว รวมถึงตัวเลข0ถึง9ตัวอักษรพิมพ์เล็กaถึงzตัวอักษรพิมพ์ใหญ่AถึงZและเครื่องหมายวรรคตอน ที่ใช้กันทั่วไป ตัวอย่างเช่น ตัวอักษรจะถูกแทนด้วย 105 ( เลขฐานสิบ ) นอกจากนี้ ASCII ยังระบุ รหัสควบคุมที่ไม่สามารถพิมพ์ได้ 33 รหัสซึ่งมีต้นกำเนิดมาจากอุปกรณ์เทเลไทป์ซึ่งส่วนใหญ่ล้าสมัยไปแล้ว[ 5 ]อักขระควบคุมที่ยังคงใช้กันทั่วไป ได้แก่การขึ้นบรรทัดใหม่การป้อนบรรทัดและแท็บ i
ASCII ขาดรหัสจุดสำหรับอักขระที่มีเครื่องหมายกำกับเสียงดังนั้นจึงไม่รองรับคำหรือชื่อต่างๆเช่นrésumé , jalapeñoหรือRené โดยตรง แต่ขึ้นอยู่กับการรองรับของฮาร์ดแวร์และซอฟต์แวร์ เครื่องหมายกำกับเสียงบางอย่างสามารถแสดงผลได้โดยการเขียนทับตัวอักษรด้วยเครื่องหมายแบ็กติ๊ก (`) หรือเครื่องหมายทิลเด (~)
หน่วยงาน Internet Assigned Numbers Authority (IANA) นิยมใช้ชื่อUS-ASCIIสำหรับการเข้ารหัสอักขระนี้[ 2 ]
ประวัติศาสตร์
ASCII คือรหัส โทรเลข เจ็ด บิต ที่เป็นมาตรฐานซึ่งพัฒนาขึ้นบางส่วนจากรหัสโทรเลข รุ่นก่อน หน้า
การทำงานเกี่ยวกับมาตรฐาน ASCII เริ่มขึ้นในเดือนพฤษภาคม พ.ศ. 2504 เมื่อBob Bemerวิศวกรของ IBMได้ยื่นข้อเสนอต่อคณะอนุกรรมการ X3.2 ของสมาคมมาตรฐานอเมริกัน (ASA) (ปัจจุบันคือ สถาบันมาตรฐานแห่งชาติอเมริกัน หรือ ANSI) [ 7 ]มาตรฐานฉบับแรกได้รับการตีพิมพ์ในปี พ.ศ. 2506 [ 8 ]พร้อมกับการเปิดตัวTeletype รุ่น 33ในเวลาต่อมา ได้มีการแก้ไขครั้งใหญ่ในปี พ.ศ. 2510 [ 9 ] [ 10 ]และมีการแก้ไขเพิ่มเติมอีกหลายครั้งจนถึงปี พ.ศ. 2529 [ 11 ]แตกต่างจากรหัสโทรเลขรุ่นก่อนๆ เช่นBaudot ASCII ถูกจัดเรียงเพื่อให้สะดวกต่อการเรียงลำดับมากขึ้น (โดยเฉพาะการเรียงลำดับตามตัวอักษรของรายการ) และเพิ่มการควบคุมสำหรับอุปกรณ์อื่นๆ นอกเหนือจากเครื่องพิมพ์โทรเลข[ 11 ]

ASCII ได้รับการพัฒนาภายใต้การดูแลของคณะกรรมการของสมาคมมาตรฐานอเมริกัน (ASA) ซึ่งเรียกว่าคณะกรรมการ X3 โดยคณะอนุกรรมการ X3.2 (ต่อมาคือ X3L2) และต่อมาโดยกลุ่มทำงาน X3.2.4 ของคณะอนุกรรมการดังกล่าว (ปัจจุบันคือINCITS ) ต่อมา ASA ได้กลายเป็นสถาบันมาตรฐานแห่งสหรัฐอเมริกา (USASI) [ 3 ] : 211และในที่สุดก็กลายเป็นสถาบันมาตรฐานแห่งชาติอเมริกัน (ANSI)
เมื่อเติมอักขระพิเศษและรหัสควบคุมอื่นๆ แล้ว ASCII ก็ได้รับการเผยแพร่เป็น ASA X3.4-1963 [ 8 ] [ 12 ]โดยเหลือตำแหน่งรหัส 28 ตำแหน่งที่ไม่มีการกำหนดความหมายใดๆ ซึ่งสงวนไว้สำหรับการกำหนดมาตรฐานในอนาคต และรหัสควบคุมที่ไม่ได้กำหนดไว้หนึ่งรหัส[ 3 ] : 66, 245ในขณะนั้นมีการถกเถียงกันว่าควรมีอักขระควบคุมมากกว่าตัวอักษรพิมพ์เล็กหรือไม่[ 3 ] : 435ความลังเลใจนั้นไม่ได้คงอยู่นาน: ในเดือนพฤษภาคม พ.ศ. 2506 คณะทำงาน CCITT เกี่ยวกับตัวอักษรโทรเลขใหม่ได้เสนอให้กำหนดตัวอักษรพิมพ์เล็กให้กับแท่ง[ a ] [ 13 ] 6 และ 7 [ 14 ]และองค์การมาตรฐานสากล TC 97 SC 2 ได้ลงมติในเดือนตุลาคมให้รวมการเปลี่ยนแปลงนี้เข้าไว้ในร่างมาตรฐาน[ 15 ]กลุ่มงาน X3.2.4 ได้ลงมติอนุมัติการเปลี่ยนแปลงเป็น ASCII ในการประชุมเดือนพฤษภาคม พ.ศ. 2506 [ 16 ]การระบุตำแหน่งตัวอักษรพิมพ์เล็กในแท่ง[ a ] [ 13 ] 6 และ 7 ทำให้ตัวอักษรมีรูปแบบบิตที่แตกต่างจากตัวพิมพ์ใหญ่เพียงบิตเดียว ซึ่งทำให้ การจับคู่ตัวอักษร แบบไม่คำนึงถึง ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ง่ายขึ้น และการสร้างแป้นพิมพ์และเครื่องพิมพ์
คณะกรรมการ X3 ได้ทำการเปลี่ยนแปลงอื่นๆ เพิ่มอักขระวงเล็บปีกกาและเส้นแนวตั้ง[ 17 ]เปลี่ยนชื่ออักขระควบคุมบางตัว– SOM กลายเป็นSOHย้ายหรือลบอักขระอื่นๆ– RU ถูกลบออก[ 3 ] : 247–248 ASCII ได้รับการอัปเดตในภายหลังเป็น USAS X3.4-1967 [ 9 ] [ 18 ]จากนั้นเป็น USAS X3.4-1968 [ 19 ] ANSI X3.4-1977 และสุดท้ายคือ ANSI X3.4-1986 [ 11 ] [ 20 ]
การใช้รูปแบบ ASCII สำหรับการแลกเปลี่ยนเครือข่ายได้รับการอธิบายไว้ในปี พ.ศ. 2512 [ 21 ]เอกสารดังกล่าวได้รับการยกระดับอย่างเป็นทางการให้เป็นมาตรฐานอินเทอร์เน็ตในปี พ.ศ. 2558 [ 22 ]
การแก้ไข
- เอเอสเอ X3.4-1963 [ 3 ] [ 8 ] [ 18 ] [ 20 ]
- ASA X3.4-1965 (ได้รับการอนุมัติ แต่ไม่ได้เผยแพร่ อย่างไรก็ตามถูกใช้โดย สถานีแสดงผล IBM 2260และ2265และ การควบคุมการแสดงผล IBM 2848 ) [ 3 ] : 423, 425–428, 435–439 [ 23 ] [ 18 ] [ 20 ]
- สหรัฐอเมริกา X3.4-1967 [ 3 ] [ 9 ] [ 20 ]
- สหรัฐอเมริกา X3.4-1968 [ 3 ] [ 19 ] [ 20 ]
- ANSI X3.4-1977 [ 20 ]
- ANSI X3.4-1986 [ 11 ] [ 20 ]
- ANSI X3.4-1986 (R1992)
- ANSI X3.4-1986 (R1997)
- ANSI INCITS 4-1986 (R2002) [ 24 ]
- ANSI INCITS 4-1986 (R2007) [ 25 ]
- INCITS 4-1986 (R2012) [ 26 ]
- INCITS 4-1986 (R2017) [ 27 ]
- INCITS 4-1986 (R2022) [ 28 ]
ในมาตรฐาน X3.15 คณะกรรมการ X3 ยังได้กล่าวถึงวิธีการส่ง ASCII ( บิตที่มีนัยสำคัญน้อยที่สุดก่อน) [ 3 ] : 249–253 [ 29 ]และบันทึกบนเทปเจาะรู พวกเขาเสนอ มาตรฐาน 9 แทร็กสำหรับเทปแม่เหล็กและพยายามจัดการกับ รูปแบบ บัตรเจาะรู บาง รูปแบบ
ข้อควรพิจารณาในการออกแบบ
ความกว้างของบิต
คณะอนุกรรมการ X3.2 ออกแบบ ASCII โดยอิงจากระบบการเข้ารหัสโทรพิมพ์รุ่นก่อนหน้า เช่นเดียวกับการเข้ารหัสอักขระ อื่นๆ ASCII กำหนดความสัมพันธ์ระหว่างรูปแบบบิตดิจิทัลและสัญลักษณ์อักขระ (เช่น กราฟีมและอักขระควบคุม ) ซึ่งช่วยให้ อุปกรณ์ ดิจิทัลสามารถสื่อสารกันและประมวลผล จัดเก็บ และสื่อสารข้อมูลที่เน้นอักขระ เช่น ภาษาเขียนได้ ก่อนที่จะมีการพัฒนา ASCII การเข้ารหัสที่ใช้อยู่ประกอบด้วย อักขระตัว อักษร 26 ตัว ตัวเลข 10 ตัวและสัญลักษณ์กราฟิกพิเศษ 11 ถึง 25 ตัว เพื่อให้ครอบคลุมทั้งหมดนี้และอักขระควบคุมที่เข้ากันได้กับ มาตรฐาน Comité Consultatif International Téléphonique et Télégraphique (CCITT) International Telegraph Alphabet No. 2 (ITA2) ปี 1932 [ 30 ] [ 31 ] FIELDATA (1956 ) และEBCDIC รุ่นแรก (1963) จึงต้องใช้รหัสมากกว่า 64 รหัสสำหรับ ASCII
ITA2 นั้นมีพื้นฐานมาจากรหัส Baudotซึ่งเป็นรหัสโทรเลข 5 บิตที่ Émile Baudot คิดค้นขึ้นในปี พ.ศ. 2413 และจดสิทธิบัตรในปี พ.ศ. 2417 [ 31 ]
คณะกรรมการได้อภิปรายถึงความเป็นไปได้ของ ฟังก์ชัน การเลื่อน (เช่นเดียวกับในITA2 ) ซึ่งจะอนุญาตให้แสดงรหัสได้มากกว่า 64 รหัสด้วยรหัสหกบิตในรหัสแบบเลื่อน รหัสอักขระบางตัวจะกำหนดตัวเลือกระหว่างตัวเลือกสำหรับรหัสอักขระถัดไป วิธีนี้ช่วยให้การเข้ารหัสกระชับขึ้น แต่มีความน่าเชื่อถือน้อยกว่าสำหรับการส่งข้อมูลเนื่องจากข้อผิดพลาดในการส่งรหัสแบบเลื่อนมักทำให้ส่วนยาวของการส่งไม่สามารถอ่านได้ คณะกรรมการมาตรฐานตัดสินใจไม่ใช้การเลื่อน ดังนั้น ASCII จึงต้องการรหัสอย่างน้อยเจ็ดบิต[ 3 ] : 215 §13.6, 236 §4
คณะกรรมการพิจารณารหัสแปดบิต เนื่องจากแปดบิต ( อ็อกเท็ต ) จะช่วยให้รูปแบบสี่บิตสองรูปแบบสามารถเข้ารหัสตัวเลขสองหลักด้วยเลขฐานสิบแบบเข้ารหัสไบนารี ได้อย่างมีประสิทธิภาพ อย่างไรก็ตาม จะต้องส่งข้อมูลทั้งหมดแปดบิต ในขณะที่เจ็ดบิตก็เพียงพอแล้ว คณะกรรมการลงมติให้ใช้รหัสเจ็ดบิตเพื่อลดต้นทุนที่เกี่ยวข้องกับการส่งข้อมูล เนื่องจากเทปเจาะรูในขณะนั้นสามารถบันทึกแปดบิตในตำแหน่งเดียวได้ จึงทำให้มีบิตพาริตีสำหรับการตรวจสอบข้อผิดพลาดหากต้องการ[ 3 ] : 217 §c, 236 §5 เครื่อง แปดบิต (ที่มีอ็อกเท็ตเป็นชนิดข้อมูลดั้งเดิม) ที่ไม่ได้ใช้การตรวจสอบพาริตีมักจะตั้งค่าบิตที่แปดเป็น 0 [ 32 ]
การจัดระเบียบภายใน
ตัวโค้ดเองมีรูปแบบที่โค้ดควบคุมส่วนใหญ่อยู่ด้วยกัน และโค้ดกราฟิกทั้งหมดอยู่ด้วยกัน เพื่อความสะดวกในการระบุแท่ง ASCII สองแท่งแรกที่เรียกว่า [ a ] [ 13 ] (32 ตำแหน่ง) ถูกสงวนไว้สำหรับอักขระควบคุม[ 3 ] : 220, 236 8, 9)อักขระ"ช่องว่าง"ต้องมาก่อนกราฟิกเพื่อให้การเรียงลำดับง่ายขึ้น ดังนั้นจึงกลายเป็นตำแหน่ง 20 [ 3 ] : 237 §10ด้วยเหตุผลเดียวกัน เครื่องหมายพิเศษหลายอย่างที่ใช้เป็นตัวคั่นทั่วไปจึงถูกวางไว้ก่อนตัวเลข คณะกรรมการตัดสินใจว่าการสนับสนุนตัวอักษรพิมพ์ใหญ่ 64 ตัวอักขระ เป็นสิ่งสำคัญ และเลือกรูปแบบ ASCII เพื่อให้สามารถลดรูปได้ง่ายเป็นชุดโค้ดกราฟิก 64 ตัวอักขระที่ใช้งานได้[ 3 ] : 228, 237 §14เช่นเดียวกับที่ทำใน โค้ด DEC SIXBIT (1963) ดังนั้นตัวอักษร พิมพ์เล็กจึงไม่ได้สลับกับ ตัว อักษรพิมพ์ใหญ่เพื่อให้มีตัวเลือกสำหรับตัวอักษรพิมพ์เล็กและกราฟิกอื่นๆ รหัสพิเศษและตัวเลขจึงถูกจัดเรียงไว้ก่อนตัวอักษร และตัวอักษรAถูกวางไว้ที่ตำแหน่ง 41 เพื่อให้ตรงกับร่างมาตรฐานอังกฤษที่เกี่ยวข้อง[ 3 ] : 238 §18ตัวเลข 0–9 มีคำนำหน้าเป็น 011 แต่บิตที่เหลืออีก4 บิตจะสอดคล้องกับค่าของตัวเลขนั้นๆ ในระบบเลขฐานสอง ทำให้การแปลงด้วยเลขฐานสิบแบบเข้ารหัสเลขฐานสองทำได้ง่าย (ตัวอย่างเช่น 5 ถูกเข้ารหัสเป็น 011 0101โดยที่ 5 คือ0101ในระบบเลขฐานสอง)
อักขระที่ไม่ใช่ตัวอักษรและตัวเลขจำนวนมากถูกจัดวางให้สอดคล้องกับตำแหน่งที่เลื่อนบนเครื่องพิมพ์ดีด ความละเอียดอ่อนที่สำคัญคือสิ่งเหล่านี้อิงตาม เครื่องพิมพ์ดีด เชิงกลไม่ใช่เครื่องพิมพ์ดีดไฟฟ้า[ 33 ]เครื่องพิมพ์ดีดเชิงกลปฏิบัติตามมาตรฐาน โดย พฤตินัยที่กำหนดโดยRemington No. 2 (1878) ซึ่งเป็นเครื่องพิมพ์ดีดเครื่องแรกที่มีปุ่มเลื่อน และค่าที่เลื่อนของ23456789-คือ–เครื่องพิมพ์ดีดรุ่นแรกๆ ละเว้น0และ1โดยใช้O (ตัวพิมพ์ใหญ่o ) และl (ตัวพิมพ์เล็กL ) แทน แต่ คู่ และกลายเป็นมาตรฐานเมื่อ 0 และ 1 กลายเป็นเรื่องปกติ ดังนั้น ใน ASCII จึงถูกวางไว้ในแท่งที่สอง[ a ] [ 13 ]ตำแหน่ง 1–5 ซึ่งสอดคล้องกับตัวเลข 1–5 ในแท่งที่อยู่ติดกัน[ a ] [ 13 ] อย่างไรก็ตาม วงเล็บไม่สามารถสอดคล้องกับ9และ0 ได้ เนื่องจากตำแหน่งที่สอดคล้องกับ0ถูกใช้โดยอักขระเว้นวรรค ปัญหานี้ได้รับการแก้ไขโดยการลบเครื่องหมายขีดล่าง (_) ออกจากเลข 6และเลื่อนตำแหน่งอักขระที่เหลือ ซึ่งตรงกับเครื่องพิมพ์ดีดของยุโรปหลายรุ่นที่วางวงเล็บไว้ที่เลข 8และ9ความแตกต่างจากเครื่องพิมพ์ดีดเหล่านี้ทำให้เกิดแป้นพิมพ์แบบจับคู่บิตโดยเฉพาะอย่างยิ่งTeletype รุ่น 33ซึ่งใช้รูปแบบการเลื่อนไปทางซ้ายที่ตรงกับ ASCII แตกต่างจากเครื่องพิมพ์ดีดเชิงกลแบบดั้งเดิม"#$%_&'() 1!0)!"#$%_
เครื่องพิมพ์ดีดไฟฟ้า โดยเฉพาะอย่างยิ่งIBM Selectric (1961) ใช้รูปแบบการจัดวางที่แตกต่างออกไปเล็กน้อย ซึ่งกลายเป็น มาตรฐาน โดยพฤตินัยในคอมพิวเตอร์–ตามหลังIBM PC (1981) โดยเฉพาะอย่างยิ่งรุ่น Model M (1984) –ดังนั้นค่าการเลื่อนสำหรับสัญลักษณ์บนแป้นพิมพ์สมัยใหม่จึงไม่ตรงกับตาราง ASCII อย่างใกล้ชิดเหมือนแป้นพิมพ์รุ่นก่อนๆคู่สัญลักษณ์นี้ยังมีมาตั้งแต่รุ่นที่ 2 และมีการใช้คู่สัญลักษณ์นี้ในแป้นพิมพ์บางรุ่น (รุ่นอื่นๆ รวมถึงรุ่นที่ 2 ไม่มีการเลื่อน(จุลภาค) หรือ(จุด) ดังนั้นจึงสามารถใช้ในตัวพิมพ์ใหญ่ได้โดยไม่ต้องเลื่อนกลับ) อย่างไรก็ตาม ASCII ได้แยกคู่สัญลักษณ์นี้ (ซึ่งมีมาตั้งแต่รุ่นที่ 2) และจัดเรียงสัญลักษณ์ทางคณิตศาสตร์ใหม่ (ตามข้อกำหนดที่แตกต่างกัน โดยทั่วไปคือ) เป็น /?,< .>,.;:-* =+:* ;+ -=
อักขระเครื่องพิมพ์ดีดทั่วไปบางตัวในสมัยนั้นไม่ได้ถูกรวมไว้ โดยเฉพาะอย่างยิ่ง½ ¼ ¢ในขณะที่^ ` ~ ถูกรวมไว้เป็นเครื่องหมายกำกับเสียงสำหรับการใช้งานระหว่างประเทศ และสำหรับการใช้งานทางคณิตศาสตร์ พร้อมกับอักขระเส้นตรงธรรมดา(นอกเหนือจากทั่วไป) สัญลักษณ์ @ไม่ได้ถูกใช้ในทวีปยุโรป และคณะกรรมการคาดว่าจะถูกแทนที่ด้วยÀ ที่มีเครื่องหมายเน้นเสียง ในรูปแบบภาษาฝรั่งเศส ดังนั้น@จึงถูกวางไว้ที่ตำแหน่ง 40 ก่อนตัวอักษร A [ 3 ] : 243<>\ |/
รหัสควบคุมที่ถือว่าจำเป็นสำหรับการส่งข้อมูล ได้แก่ การเริ่มต้นข้อความ (SOM), การสิ้นสุดที่อยู่ (EOA), การสิ้นสุดข้อความ (EOM), การสิ้นสุดการส่ง (EOT), "คุณคือใคร?" (WRU), "คุณคือใคร?" (RU), การควบคุมอุปกรณ์ที่สงวนไว้ (DC0), สถานะว่างแบบซิงโครนัส (SYNC) และการยืนยัน (ACK) โดยจัดวางตำแหน่งรหัสเหล่านี้เพื่อเพิ่มระยะห่างแฮมมิงระหว่างรูปแบบบิต ให้สูงสุด [ 3 ] : 243–245
ลำดับตัวละคร
ลำดับรหัส ASCII ยังเรียกว่าลำดับตัวอักษร ASCII [ 34 ] บางครั้ง การเรียงลำดับข้อมูลจะทำตามลำดับนี้แทนที่จะเป็นลำดับตัวอักษร "มาตรฐาน" ( ลำดับการเรียงลำดับ ) ข้อเบี่ยงเบนหลักในลำดับ ASCII คือ:
- ตัวอักษรพิมพ์ใหญ่จะอยู่ก่อนตัวอักษรพิมพ์เล็ก ตัวอย่างเช่น "Z" จะอยู่ก่อน "a"
- ตัวเลขและเครื่องหมายวรรคตอนจำนวนมากจะอยู่ก่อนตัวอักษร
ขั้นตอนการประมวลผลขั้นกลางจะแปลงตัวอักษรพิมพ์ใหญ่เป็นตัวอักษรพิมพ์เล็กก่อนที่จะเปรียบเทียบค่า ASCII
ชุดอักขระ

| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | เอ | บี | ซี | ดี | อี | เอฟ | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x | นูแอล | เอสโอเอช | เอสทีเอ็กซ์ | อีทีเอ็กซ์ | อีโอที | เอ็นคิว | แอก | เบล | ปริญญาตรี | เอชที | แอลเอฟ | วีที | เอฟเอฟ | ซีอาร์ | ดังนั้น | ไอเอส |
| 1x | ดีแอลอี | ดีซี1 | ดีซี2 | ดีซี3 | ดีซี4 | นาค | ซิน | อีทีบี | สามารถ | อีเอ็ม | ซับ | เอสเอส | เอฟเอส | จีเอส | อาร์เอส | เรา |
| 2x | เอสพี | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
| 3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4x | @ | เอ | บี | ซี | ดี | อี | เอฟ | จี | ชม | ฉัน | เจ | เค | แอล | เอ็ม | เอ็น | โอ |
| 5x | พี | คิว | อาร์ | เอส | ที | ยู | วี | ว | X | วาย | ซ | [ | \ | ] | ^ | _ |
| 6x | ` | เอ | ข | ซี | ง | อี | เอฟ | จี | ชม. | ฉัน | เจ | เค | ล | ม | n | โอ |
| 7x | พี | q | ร | ส | ที | คุณ | วี | ว | x | y | z | { | | | } | ~ | เดล |
มีการเปลี่ยนแปลงหรือเพิ่มเติมในเวอร์ชันปี 1963 มีการเปลี่ยนแปลงทั้งในฉบับปี 1963 และฉบับร่างปี 1965 | ||||||||||||||||
กลุ่มตัวละคร
ตัวละครควบคุม

ASCII สงวนรหัสจุด 32 รหัสแรก (หมายเลข 0–31 ในระบบเลขฐานสิบ) และรหัสจุดสุดท้าย (หมายเลข 127 ในระบบเลขฐานสิบ) ไว้สำหรับอักขระควบคุมรหัสเหล่านี้มีไว้เพื่อควบคุมอุปกรณ์ต่อพ่วง (เช่นเครื่องพิมพ์ ) หรือเพื่อให้ข้อมูลเมตาเกี่ยวกับกระแสข้อมูล เช่น ข้อมูลที่จัดเก็บไว้ในเทปแม่เหล็ก แม้จะมีชื่อว่าอักขระควบคุม แต่รหัสจุดเหล่านี้ไม่ได้เป็นอักขระที่พิมพ์ได้ (กล่าวคือ ไม่ใช่อักขระเลย แต่เป็นสัญญาณ) เพื่อวัตถุประสงค์ในการแก้ไขข้อผิดพลาด จึงมีการกำหนดสัญลักษณ์ "ตัวยึดตำแหน่ง" (เช่นเดียวกับที่กำหนดในISO 2047และมาตรฐานก่อนหน้า) ให้กับรหัสจุดเหล่านี้
ตัวอย่างเช่น อักขระ 0x0A แทนฟังก์ชัน "ขึ้นบรรทัดใหม่" (ซึ่งทำให้เครื่องพิมพ์เลื่อนกระดาษไปข้างหน้า) และอักขระ 8 แทน " ลบ " RFC 2822อ้างถึงอักขระควบคุมที่ไม่รวมถึงการขึ้นบรรทัดใหม่ การขึ้นบรรทัดใหม่ หรือช่องว่างว่าเป็นอักขระควบคุมที่ไม่ใช่ช่องว่าง[ 35 ]ยกเว้นอักขระควบคุมที่กำหนดรูปแบบพื้นฐานตามบรรทัด ASCII ไม่ได้กำหนดกลไกใด ๆ สำหรับการอธิบายโครงสร้างหรือลักษณะของข้อความภายในเอกสาร แผนการอื่น ๆ เช่นภาษามาร์กอัปจะจัดการเค้าโครงและการจัดรูปแบบหน้าและเอกสาร
มาตรฐาน ASCII ดั้งเดิมใช้เพียงวลีสั้นๆ ที่อธิบายลักษณะของอักขระควบคุมแต่ละตัว ความกำกวมที่เกิดขึ้นนั้นบางครั้งก็เป็นไปโดยเจตนาเช่น เมื่ออักขระบางตัวถูกใช้ในลักษณะที่แตกต่างกันเล็กน้อยบนลิงก์เทอร์มินัลหรือใน สตรี มข้อมูล
อุปกรณ์ที่มีอิทธิพลมากที่สุดในการตีความอักขระเหล่านี้คือเครื่องพิมพ์Teletype รุ่น 33 ASR ซึ่งเป็นเครื่องพิมพ์ที่มี ตัวอ่าน/เจาะเทป กระดาษเทปกระดาษเป็นสื่อที่ได้รับความนิยมอย่างมากสำหรับการจัดเก็บโปรแกรมระยะยาวจนถึงทศวรรษ 1980 เนื่องจากมีราคาถูกกว่าและในบางแง่ก็เปราะบางน้อยกว่าเทปแม่เหล็ก โดยเฉพาะอย่างยิ่ง การกำหนดรหัสสำหรับเครื่อง Teletype รุ่น 33 สำหรับรหัส 17 (control-Q, DC1 หรือที่รู้จักกันในชื่อ XON), 19 (control-S, DC3 หรือที่รู้จักกันในชื่อ XOFF) และ 127 ( delete ) กลายเป็น มาตรฐาน โดยปริยายนอกจากนี้ รุ่น 33 ยังโดดเด่นในเรื่องการตีความคำอธิบายของ control-G (รหัส 7, BEL ซึ่งหมายถึงแจ้งเตือนผู้ปฏิบัติงานด้วยเสียง) อย่างตรงตัว เนื่องจากเครื่องมีกระดิ่งจริงซึ่งจะดังขึ้นเมื่อได้รับอักขระ BEL เนื่องจากบนแป้นตัวเลขสำหรับปุ่ม O ยังมีสัญลักษณ์ลูกศรชี้ไปทางซ้าย (จาก ASCII-1963 ซึ่งใช้อักขระนี้แทนเครื่องหมายขีดล่าง ) การใช้งานที่ไม่ถูกต้องตามข้อกำหนด เช่น รหัส 15 (กด Ctrl-O แล้วกด Shift เข้า) ซึ่งถูกตีความว่า "ลบอักขระก่อนหน้า" จึงถูกนำมาใช้ในระบบแบ่งเวลาใช้งานในยุคแรกๆ หลายระบบ แต่ในที่สุดก็ถูกละเลยไป
เมื่อเครื่องอ่านเทปกระดาษอัตโนมัติ Teletype 33 ASR ได้รับสัญญาณ Control-S (XOFF ซึ่งย่อมาจาก transmit off) จะทำให้เครื่องอ่านเทปหยุดทำงาน และเมื่อได้รับสัญญาณ Control-Q (XON, transmit on) จะทำให้เครื่องอ่านเทปทำงานต่อ เทคนิค การควบคุมการไหล นี้ ถูกนำไปใช้ในระบบปฏิบัติการคอมพิวเตอร์รุ่นแรกๆ หลายระบบ ในฐานะสัญญาณ "การจับมือ" เพื่อเตือนผู้ส่งให้หยุดการส่งข้อมูลเนื่องจากบัฟเฟอร์ล้นและยังคงใช้กันอยู่ในหลายระบบจนถึงทุกวันนี้ในฐานะเทคนิคการควบคุมการส่งออกด้วยตนเอง ในบางระบบ สัญญาณ Control-S ยังคงมีความหมายเช่นเดิม แต่สัญญาณ Control-Q จะถูกแทนที่ด้วยสัญญาณ Control-S อีกครั้งเพื่อเริ่มการส่งออกใหม่
นอกจากนี้ 33 ASR ยังสามารถกำหนดค่าให้ใช้ control-R (DC2) และ control-T (DC4) เพื่อเริ่มและหยุดการเจาะเทปได้ ในบางหน่วยที่มีฟังก์ชันนี้ ตัวอักษรควบคุมที่เกี่ยวข้องบนปุ่มกดเหนือตัวอักษรจะเป็น TAPE และTAPEตามลำดับ[ 36 ]
ลบ กับ แบ็กสเปซ
เครื่องพิมพ์เทเลไทป์ไม่สามารถเลื่อนหัวพิมพ์ไปข้างหลังได้ ดังนั้นจึงไม่มีปุ่มบนแป้นพิมพ์สำหรับส่ง BS (backspace) แต่มีปุ่มที่ทำเครื่องหมายไว้RUB OUTสำหรับส่งรหัส 127 (DEL) จุดประสงค์ของปุ่มนี้คือการลบข้อผิดพลาดในเทปกระดาษที่ป้อนด้วยตนเอง ผู้ปฏิบัติงานต้องกดปุ่มบนเครื่องเจาะเทปเพื่อย้อนกลับ จากนั้นพิมพ์คำสั่งลบ ซึ่งจะเจาะรูทั้งหมดและแทนที่ข้อผิดพลาดด้วยอักขระที่ตั้งใจให้ละเว้น[ 37 ]เครื่องพิมพ์เทเลไทป์มักใช้กับคอมพิวเตอร์ราคาไม่แพงจากDigital Equipment Corporation (DEC) ระบบเหล่านี้ต้องใช้ปุ่มที่มีอยู่ ดังนั้นอักขระ DEL จึงถูกกำหนดให้ลบอักขระก่อนหน้า[ 38 ] [ 39 ]ด้วยเหตุนี้ เทอร์มินัลวิดีโอของ DEC (โดยค่าเริ่มต้น) จึงส่งอักขระ DEL สำหรับปุ่มที่ทำเครื่องหมายว่า "Backspace" ในขณะที่ปุ่มแยกต่างหากที่ทำเครื่องหมายว่า "Delete" ส่งลำดับการหลีกเลี่ยงเทอร์มินัลคู่แข่งอื่นๆ จำนวนมากส่งอักขระ BS สำหรับปุ่ม backspace
ไดรเวอร์ tty ของ Unix ในยุคแรกๆ ซึ่งแตกต่างจากการใช้งานสมัยใหม่บางอย่าง อนุญาตให้ตั้งค่าอักขระเพียงตัวเดียวเพื่อลบอักขระก่อนหน้าในการประมวลผลอินพุตแบบมาตรฐาน (ซึ่งมีตัวแก้ไขบรรทัดที่ง่ายมาก) โดยสามารถตั้งค่าเป็น BS หรือ DEL ได้ แต่ไม่ใช่ทั้งสองอย่าง ส่งผลให้เกิดสถานการณ์กำกวมซ้ำๆ ที่ผู้ใช้ต้องตัดสินใจขึ้นอยู่กับเทอร์มินัลที่พวกเขากำลังใช้ ( เชลล์ที่อนุญาตให้แก้ไขบรรทัด เช่นksh , bashและzshเข้าใจทั้งสองแบบ) สมมติฐานที่ว่าไม่มีปุ่มใดส่งอักขระ BS ทำให้สามารถใช้ Ctrl+H สำหรับวัตถุประสงค์อื่นๆ ได้ เช่น คำสั่งคำนำหน้า "help" ในGNU Emacs [ 40 ]
หนี
อักขระควบคุมจำนวนมากได้รับการกำหนดความหมายที่แตกต่างไปจากความหมายดั้งเดิมอย่างมาก ตัวอย่างเช่น อักขระ "escape" (ESC, รหัส 27) เดิมทีมีจุดประสงค์เพื่ออนุญาตให้ส่งอักขระควบคุมอื่นๆ เป็นค่าคงที่แทนที่จะเรียกใช้ความหมายของมัน ซึ่งก็คือ "ลำดับการหลีกเลี่ยง" (escape sequence) นี่คือความหมายเดียวกับ "escape" ที่พบในการเข้ารหัส URL สตริง ภาษา Cและระบบอื่นๆ ที่อักขระบางตัวมีความหมายที่สงวนไว้ เมื่อเวลาผ่านไป การตีความนี้ถูกนำไปใช้ในวงกว้างและในที่สุดก็ถูกเปลี่ยนแปลง
ในการใช้งานสมัยใหม่ ESC ที่ส่งไปยังเทอร์มินัลมักจะบ่งชี้ถึงการเริ่มต้นของลำดับคำสั่ง ซึ่งสามารถใช้เพื่อกำหนดตำแหน่งเคอร์เซอร์ เลื่อนพื้นที่ ตั้งค่า/สอบถามคุณสมบัติต่างๆ ของเทอร์มินัล และอื่นๆ โดยทั่วไปจะอยู่ในรูปแบบของ " รหัสหลีกเลี่ยง ANSI " (มักเริ่มต้นด้วย " ตัวแนะนำลำดับควบคุม ", "CSI", " ESC" [ ") จากECMA-48 (1972) และรุ่นต่อมา ลำดับหลีกเลี่ยงบางลำดับไม่มีตัวแนะนำ เช่น คำสั่ง "รีเซ็ตเป็นสถานะเริ่มต้น", "RIS" " ESC c " [ 41 ]
ในทางตรงกันข้าม การกด ESC จากเทอร์มินัล มักใช้เป็น อักขระ พิเศษเพื่อยุติการทำงานหรือโหมดพิเศษ เช่น ในโปรแกรมแก้ไขข้อความTECOและvi ใน ระบบ ส่วนติดต่อผู้ใช้แบบกราฟิก (GUI) และ ระบบ หน้าต่าง การกด ESC โดยทั่วไปจะทำให้แอปพลิเคชันยกเลิกการทำงานปัจจุบันหรือปิดตัวลง (ยุติ) โดยสิ้นเชิง
สิ้นสุดบรรทัด
การนำอักขระควบคุมบางตัวมาใช้ในความหมายใหม่ทำให้เกิดปัญหาในการถ่ายโอนไฟล์ "ข้อความธรรมดา" ระหว่างระบบ ตัวอย่างที่ดีที่สุดคือ ปัญหา การขึ้นบรรทัดใหม่ในระบบปฏิบัติการ ต่างๆ เครื่องพิมพ์เทเลไทป์กำหนดให้บรรทัดข้อความต้องจบด้วย "การขึ้นบรรทัดใหม่" (เพื่อเลื่อนหัวพิมพ์ไปยังต้นบรรทัด) ตามด้วย "การเลื่อนกระดาษไปหนึ่งบรรทัด" (เพื่อเลื่อนกระดาษไปหนึ่งบรรทัด) ชื่อ "การขึ้นบรรทัดใหม่" มาจากข้อเท็จจริงที่ว่า ในเครื่องพิมพ์ดีด แบบใช้มือ ตัวเลื่อนที่ยึดกระดาษจะเคลื่อนที่ในขณะที่แท่งพิมพ์ที่กระทบกับริบบิ้นยังคงอยู่กับที่ ต้องดันตัวเลื่อนทั้งหมดไปทางขวา ("กลับ") เพื่อจัดตำแหน่งกระดาษสำหรับบรรทัดถัดไป
ระบบปฏิบัติการของ DEC ( OS/8 , RT-11 , RSX-11 , RSTS , TOPS-10ฯลฯ) จะจัดเก็บอักขระทั้งสองตัวที่อยู่ท้ายบรรทัดแต่ละบรรทัดไว้ในไฟล์ข้อความตามที่เครื่องเทเลไทป์ต้องการ เมื่อมีการนำ "TTY แบบจอแก้ว" (ต่อมาเรียกว่า CRT หรือ "เทอร์มินัลแบบธรรมดา") มาใช้ ก็ใช้ตรรกะเดียวกัน โดยคาดหวังอักขระ CR และ LF เช่นเดียวกัน เมื่อGary Kildallสร้างCP/Mเขาได้รับแรงบันดาลใจจากข้อกำหนดบางอย่างของอินเทอร์เฟซบรรทัดคำสั่งที่ใช้ในระบบปฏิบัติการ RT-11 ของ DEC
จนกระทั่งการเปิดตัวIBM PC DOSในปี 1981 IBMไม่มีอิทธิพลในเรื่องนี้ เนื่องจากระบบปฏิบัติการของพวกเขาในช่วงทศวรรษ 1970 ใช้การเข้ารหัส EBCDIC แทน ASCII และมุ่งเน้นไปที่การป้อนข้อมูลด้วยบัตรเจาะรูและการส่งออกด้วยเครื่องพิมพ์แบบบรรทัด ซึ่งแนวคิดของ "การขึ้นบรรทัดใหม่" นั้นไม่มีความหมาย IBM PC DOS (ซึ่งวางจำหน่ายในชื่อMS-DOSโดย Microsoft) ได้รับสืบทอดธรรมเนียม CRLF โดยอาศัยพื้นฐานจาก CP/M อย่างหลวมๆ[ 42 ]และWindowsก็ได้รับสืบทอดมาจาก MS-DOS อีกที
การวาง CR และ LF ไว้ที่ท้ายแต่ละบรรทัดใน เอกสาร ข้อความธรรมดาหรือสตรีมข้อมูลสะท้อนถึงสิ่งที่เทอร์มินัลและเครื่องพิมพ์จำเป็นต้องได้รับเพื่อแสดงเนื้อหานั้นMulticsได้นำเสนอนวัตกรรม: มันใช้เพียงอักขระเดียว (LF) เพื่อแสดงจุดสิ้นสุดของบรรทัดในไฟล์ที่จัดเก็บและในสตรีมข้อมูล[ 43 ] : 357เมื่อส่งออก ไดรเวอร์ tty จะแปลง LF เป็น CRLF เพื่อให้สามารถพิมพ์ไฟล์ไปยังเทอร์มินัลได้โดยไม่ต้องใช้คำสั่งเพื่อแปลงรูปแบบไฟล์อย่างชัดเจนระบบ Unixและ ระบบ ที่คล้าย Unixได้นำการออกแบบนี้มาจาก Multics เช่นเดียวกับระบบAmiga เอกสาร UNIXใช้คำว่า "newline" หรือ "NL" เพื่ออ้างถึงตัวจบบรรทัด ในทางตรงกันข้าม Radio Shack TRS-80 , Apple DOS , Apple ProDOSและMac OS รุ่นคลาสสิกใช้การขึ้นบรรทัดใหม่ (CR) เพียงตัวเดียวเพื่อจบบรรทัด ระบบปฏิบัติการรุ่นหลังของ Apple คือ Mac OS X (ปัจจุบันเรียกว่าmacOS ) มีพื้นฐานมาจาก Unix ดังนั้นจึงใช้การป้อนบรรทัด (LF)
คอมพิวเตอร์ที่เชื่อมต่อกับARPANETประกอบด้วยเครื่องที่ใช้ระบบปฏิบัติการ เช่น TOPS-10 และTENEXซึ่งใช้การจบบรรทัดแบบ CR-LF; ระบบปฏิบัติการ เช่น Multics ซึ่งใช้การจบบรรทัดแบบ LF; และระบบปฏิบัติการ เช่นOS/360ซึ่งแสดงบรรทัดเป็นจำนวนอักขระตามด้วยอักขระของบรรทัด และใช้การเข้ารหัส EBCDIC แทน ASCII เพื่อให้สามารถสื่อสารระหว่างระบบทั้งหมดเหล่านี้ได้ โปรโตคอล Telnetจึงกำหนด "Network Virtual Terminal" (NVT) ซึ่งใช้รูปแบบข้อความเดียว (ASCII ที่มีการจบบรรทัดแบบ CR-LF) สำหรับการส่ง และแต่ละระบบจะแปลงไป/กลับจากรูปแบบดั้งเดิมของตนเอง[ 44 ]
โปรโตคอลการถ่ายโอนไฟล์ใช้โปรโตคอล Telnet รวมถึงเทอร์มินัลเสมือนเครือข่ายสำหรับการส่งคำสั่งและการถ่ายโอนไฟล์ข้อความ (เรียกว่า "โหมด ASCII") [ 45 ] [ 46 ] อีเมลอินเทอร์เน็ตสร้างขึ้นบน NVT [ 47 ] HTTP ของเวิลด์ไวด์เว็บใช้ NVT ที่แก้ไขแล้ว: มาตรฐานอนุญาตให้มีอักขระ CR และ LF เพียงตัวเดียว แต่กำหนดให้แต่ละตัวต้องถูกตีความว่าเป็น NVT CRLF [ 48 ]
ความซับซ้อนเกิดขึ้นในระบบที่เชื่อมต่อกับเครือข่ายซึ่งไม่ได้ปฏิบัติตามกลไก NVT เช่น ระบบควบคุมเวอร์ชันบางระบบ[ 49 ]บางครั้งบั๊กทำให้การใช้งานดั้งเดิมของระบบถูกเปิดเผยต่อระบบอื่น ๆ บนอินเทอร์เน็ต ส่งผลให้ข้อมูลเสียหาย[ 50 ]
สิ้นสุดไฟล์/สตรีม
จอภาพ PDP-6 [ 38 ]และ PDP-10 รุ่นต่อมา TOPS-10 [ 39 ]ใช้ปุ่ม Control-Z (SUB) เป็นตัวบ่งชี้จุดสิ้นสุดของไฟล์สำหรับการป้อนข้อมูลจากเทอร์มินัล ระบบปฏิบัติการบางระบบ เช่น CP/M ติดตามความยาวไฟล์เฉพาะในหน่วยของบล็อกดิสก์ และใช้ปุ่ม Control-Z เพื่อทำเครื่องหมายจุดสิ้นสุดของข้อความจริงในไฟล์[ 51 ]ด้วยเหตุผลเหล่านี้ EOF หรือend-of-fileจึงถูกใช้ในภาษาพูดและตามธรรมเนียมเป็นคำย่อสามตัวอักษรสำหรับ Control-Z แทนที่จะเป็น SUBstitute อักขระสิ้นสุดข้อความ ( ETX ) หรือที่รู้จักกันในชื่อControl-C นั้นไม่เหมาะสมด้วยเหตุผลหลายประการ ในขณะที่การใช้ Control-Z เป็นอักขระควบคุมเพื่อสิ้นสุดไฟล์นั้นคล้ายคลึงกับตำแหน่งของตัวอักษร Z ที่อยู่ท้ายสุดของตัวอักษร และทำหน้าที่เป็น ตัวช่วยจำที่สะดวกมากธรรมเนียมปฏิบัติที่เคยใช้กันทั่วไปและยังคงใช้กันอยู่จนถึงปัจจุบัน คือการใช้สัญลักษณ์ ETX เพื่อขัดจังหวะและหยุดโปรแกรมผ่านกระแสข้อมูลขาเข้า ซึ่งโดยปกติจะมาจากแป้นพิมพ์
ไดรเวอร์เทอร์มินัลของ Unix ใช้ตัวอักขระสิ้นสุดการส่งข้อมูล ( EOT ) หรือที่รู้จักกันในชื่อ Ctrl-D เพื่อระบุจุดสิ้นสุดของกระแสข้อมูล
ในภาษาการเขียนโปรแกรม Cและตามธรรมเนียมของ Unix อักขระว่าง (null character)ใช้เพื่อปิดท้ายสตริง ข้อความ สตริงที่ปิดท้ายด้วยอักขระว่างนี้สามารถเรียกย่อได้ว่า ASCIZ หรือ ASCIIZ โดยที่ Z ย่อมาจาก "ศูนย์" (zero)
ตารางรหัส
ตารางรหัสควบคุม
| ไบนารี | ตุลาคม | ธันวาคม | เฮกซ์ | คำย่อ | รูปภาพควบคุม Unicode [ b ] | สัญกรณ์แคเร็ต[ c ] | ลำดับการหลบหนี C [ d ] | ชื่อ (1967) | ||
|---|---|---|---|---|---|---|---|---|---|---|
| พ.ศ. 2506 | พ.ศ. 2508 | พ.ศ. 2510 | ||||||||
| 000 0000 | 000 | 0 | 00 | โมฆะ | นูแอล | ␀ | ^@ | 0 [ e ] | โมฆะ | |
| 000 0001 | 001 | 1 | 01 | เอสโอเอ็ม | เอสโอเอช | ␁ | ^A | เริ่มต้นส่วนหัว | ||
| 000 0010 | 002 | 2 | 02 | อีโอเอ | เอสทีเอ็กซ์ | ␂ | ^B | เริ่มต้นข้อความ | ||
| 000 0011 | 003 | 3 | 03 | สิ้นเดือน | อีทีเอ็กซ์ | ␃ | ^C | จบข้อความ | ||
| 000 0100 | 004 | 4 | 04 | อีโอที | ␄ | ^D | สิ้นสุดการส่งข้อมูล | |||
| 000 0101 | 005 | 5 | 05 | ดับเบิลยูอาร์ยู | เอ็นคิว | ␅ | ^E | สอบถาม | ||
| 000 0110 | 006 | 6 | 06 | อาร์ยู | แอก | ␆ | ^F | คำขอบคุณ | ||
| 000 0111 | 007 | 7 | 07 | กระดิ่ง | เบล | ␇ | ^G | \a | เสียงกริ่ง (แจ้งเตือน) | |
| 000 1000 | 010 | 8 | 08 | FE0 | ปริญญาตรี | ␈ | ^H | \b | ลบ[ f ] [ g ] | |
| 000 1001 | 011 | 9 | 09 | HT/SK | เอชที | ␉ | ^ฉัน | \t | แท็บแนวนอน[ h ] | |
| 000 1010 | 012 | 10 | 0A | แอลเอฟ | ␊ | ^J | \n | สายป้อน | ||
| 000 1011 | 013 | 11 | 0B | วีทีบี | วีที | ␋ | ^K | \v | แท็บแนวตั้ง | |
| 000 1100 | 014 | 12 | 0 องศาเซลเซียส | เอฟเอฟ | ␌ | ^L | \f | ฟีดแบบฟอร์ม | ||
| 000 1101 | 015 | 13 | 0D | ซีอาร์ | ␍ | ^M | \r | การส่งคืนรถ[ i ] | ||
| 000 1110 | 016 | 14 | 0E | ดังนั้น | ␎ | ^N | เลิกงาน | |||
| 000 1111 | 017 | 15 | 0F | ไอเอส | ␏ | ^O | การเปลี่ยนแปลงใน | |||
| 001 0000 | 020 | 16 | 10 | ดีซี0 | ดีแอลอี | ␐ | ^P | การหลุดออกจากลิงก์ข้อมูล | ||
| 001 0001 | 021 | 17 | 11 | ดีซี1 | ␑ | ^Q | การควบคุมอุปกรณ์ 1 (มักเป็นXON ) | |||
| 001 0010 | 022 | 18 | 12 | ดีซี2 | ␒ | ^R | การควบคุมอุปกรณ์ 2 | |||
| 001 0011 | 023 | 19 | 13 | ดีซี3 | ␓ | ^S | ปุ่มควบคุมอุปกรณ์ 3 (มักจะเป็น XOFF ) | |||
| 001 0100 | 024 | 20 | 14 | ดีซี4 | ␔ | ^T | การควบคุมอุปกรณ์ 4 | |||
| 001 0101 | 025 | 21 | 15 | ข้อผิดพลาด | นาค | ␕ | ^U | การรับทราบเชิงลบ | ||
| 001 0110 | 026 | 22 | 16 | ซิงค์ | ซิน | ␖ | ^V | การทำงานแบบซิงโครนัส | ||
| 001 0111 | 027 | 23 | 17 | เลม | อีทีบี | ␗ | ^W | สิ้นสุดบล็อกการส่งข้อมูล | ||
| 001 1000 | 030 | 24 | 18 | เอส0 | สามารถ | ␘ | ^X | ยกเลิก | ||
| 001 1001 | 031 | 25 | 19 | ซีซั่น 1 | อีเอ็ม | ␙ | ^Y | สิ้นสุดสื่อ | ||
| 001 1010 | 032 | 26 | 1A | ซี2 | เอสเอส | ซับ | ␚ | ^Z | ทดแทน | |
| 001 1011 | 033 | 27 | 1บี | ซี3 | เอสเอส | ␛ | ^[ | [ j ] | หลบหนี[ k ] | |
| 001 1100 | 034 | 28 | 1ซี | ซี4 | เอฟเอส | ␜ | ^\ | ตัวคั่นไฟล์ | ||
| 001 1101 | 035 | 29 | 1D | เอส5 | จีเอส | ␝ | ^] | ตัวคั่นกลุ่ม | ||
| 001 1110 | 036 | 30 | 1E | เอส6 | อาร์เอส | ␞ | ^^ [ l ] | ตัวคั่นระเบียน | ||
| 001 1111 | 037 | 31 | 1F | เอส7 | เรา | ␟ | ^_ | ตัวคั่นหน่วย | ||
| 111 1111 | 177 | 127 | 7F | เดล | ␡ | ^? | ลบ[ m ] [ g ] | |||
อุปกรณ์เฉพาะทางอาจใช้การแสดงผลแบบอื่น เช่นกราฟิกISO 2047 หรือ ตัวเลขฐานสิบหก
ตารางตัวอักษรที่สามารถพิมพ์ได้
ในขณะที่นำมาใช้ รหัสเลข 20 ถึง 7E จะทำให้เกิดการพิมพ์อักขระที่มองเห็นได้ (สัญลักษณ์) ดังนั้นจึงถูกกำหนดให้เป็น "อักขระที่พิมพ์ได้" รหัสเหล่านี้แทนตัวอักษร ตัวเลขเครื่องหมายวรรคตอนและสัญลักษณ์อื่นๆ อีกเล็กน้อย มีอักขระที่พิมพ์ได้ทั้งหมด 95 ตัว[ n ]
ช่องว่างระหว่างคำที่เกิดจากการกดแป้นเว้นวรรคของแป้นพิมพ์คืออักขระรหัส 20 เนื่องจากอักขระเว้นวรรคสามารถมองเห็นได้ในข้อความที่พิมพ์ จึงถือว่าเป็น "อักขระที่พิมพ์ได้" แม้ว่าจะมีลักษณะเฉพาะคือไม่มีสัญลักษณ์ที่มองเห็นได้ มันถูกระบุไว้ในตารางอักขระที่พิมพ์ได้ตามมาตรฐาน ASCII แทนที่จะอยู่ในตารางอักขระควบคุม[ 3 ] : 223 [ 21 ]
7F ตรงกับอักขระควบคุม "ลบ" (DEL) ที่ไม่สามารถพิมพ์ได้ และมีอยู่ในตารางอักขระควบคุม
ASCII เวอร์ชันก่อนหน้าใช้ลูกศรขึ้นแทนเครื่องหมายแคเร็ต (5E ) และลูกศรซ้ายแทนเครื่องหมายขีดล่าง (5F ) [ 8 ] [ 52 ]
| ไบนารี | ตุลาคม | ธันวาคม | เฮกซ์ | อักษรภาพ | ||
|---|---|---|---|---|---|---|
| พ.ศ. 2506 | พ.ศ. 2508 | พ.ศ. 2510 | ||||
| 010 0000 | 040 | 32 | 20 | ช่องว่าง (ไม่มีสัญลักษณ์ปรากฏให้เห็น) | ||
| 010 0001 | 041 | 33 | 21 | ! | ||
| 010 0010 | 042 | 34 | 22 | " | ||
| 010 0011 | 043 | 35 | 23 | # | ||
| 010 0100 | 044 | 36 | 24 | $ | ||
| 010 0101 | 045 | 37 | 25 | % | ||
| 010 0110 | 046 | 38 | 26 | & | ||
| 010 0111 | 047 | 39 | 27 | ' | ||
| 010 1000 | 050 | 40 | 28 | ( | ||
| 010 1001 | 051 | 41 | 29 | ) | ||
| 010 1010 | 052 | 42 | 2A | * | ||
| 010 1011 | 053 | 43 | 2บี | + | ||
| 010 1100 | 054 | 44 | 2ซี | , | ||
| 010 1101 | 055 | 45 | 2 มิติ | - | ||
| 010 1110 | 056 | 46 | 2E | . | ||
| 010 1111 | 057 | 47 | 2F | / | ||
| 011 0000 | 060 | 48 | 30 | 0 | ||
| 011 0001 | 061 | 49 | 31 | 1 | ||
| 011 0010 | 062 | 50 | 32 | 2 | ||
| 011 0011 | 063 | 51 | 33 | 3 | ||
| 011 0100 | 064 | 52 | 34 | 4 | ||
| 011 0101 | 065 | 53 | 35 | 5 | ||
| 011 0110 | 066 | 54 | 36 | 6 | ||
| 011 0111 | 067 | 55 | 37 | 7 | ||
| 011 1000 | 070 | 56 | 38 | 8 | ||
| 011 1001 | 071 | 57 | 39 | 9 | ||
| 011 1010 | 072 | 58 | 3A | : | ||
| 011 1011 | 073 | 59 | 3บี | ; | ||
| 011 1100 | 074 | 60 | 3ซี | < | ||
| 011 1101 | 075 | 61 | 3 มิติ | = | ||
| 011 1110 | 076 | 62 | 3E | > | ||
| 011 1111 | 077 | 63 | 3F | ? | ||
| 100 0000 | 100 | 64 | 40 | @ | ` | @ |
| 100 0001 | 101 | 65 | 41 | เอ | ||
| 100 0010 | 102 | 66 | 42 | บี | ||
| 100 0011 | 103 | 67 | 43 | ซี | ||
| 100 0100 | 104 | 68 | 44 | ดี | ||
| 100 0101 | 105 | 69 | 45 | อี | ||
| 100 0110 | 106 | 70 | 46 | เอฟ | ||
| 100 0111 | 107 | 71 | 47 | จี | ||
| 100 1000 | 110 | 72 | 48 | ชม | ||
| 100 1001 | 111 | 73 | 49 | ฉัน | ||
| 100 1010 | 112 | 74 | 4A | เจ | ||
| 100 1011 | 113 | 75 | 4B | เค | ||
| 100 1100 | 114 | 76 | 4ซี | แอล | ||
| 100 1101 | 115 | 77 | 4 มิติ | เอ็ม | ||
| 100 1110 | 116 | 78 | 4E | เอ็น | ||
| 100 1111 | 117 | 79 | 4F | โอ | ||
| 101 0000 | 120 | 80 | 50 | พี | ||
| 101 0001 | 121 | 81 | 51 | คิว | ||
| 101 0010 | 122 | 82 | 52 | อาร์ | ||
| 101 0011 | 123 | 83 | 53 | เอส | ||
| 101 0100 | 124 | 84 | 54 | ที | ||
| 101 0101 | 125 | 85 | 55 | ยู | ||
| 101 0110 | 126 | 86 | 56 | วี | ||
| 101 0111 | 127 | 87 | 57 | ว | ||
| 101 1000 | 130 | 88 | 58 | X | ||
| 101 1001 | 131 | 89 | 59 | วาย | ||
| 101 1010 | 132 | 90 | 5A | ซ | ||
| 101 1011 | 133 | 91 | 5B | [ | ||
| 101 1100 | 134 | 92 | 5C | \ | ~ | \ |
| 101 1101 | 135 | 93 | 5D | ] | ||
| 101 1110 | 136 | 94 | 5E | ↑ | ^ | |
| 101 1111 | 137 | 95 | 5F | ← | _ | |
| 110 0000 | 140 | 96 | 60 | @ | ` | |
| 110 0001 | 141 | 97 | 61 | เอ | ||
| 110 0010 | 142 | 98 | 62 | ข | ||
| 110 0011 | 143 | 99 | 63 | ซี | ||
| 110 0100 | 144 | 100 | 64 | ง | ||
| 110 0101 | 145 | 101 | 65 | อี | ||
| 110 0110 | 146 | 102 | 66 | เอฟ | ||
| 110 0111 | 147 | 103 | 67 | จี | ||
| 110 1000 | 150 | 104 | 68 | ชม. | ||
| 110 1001 | 151 | 105 | 69 | ฉัน | ||
| 110 1010 | 152 | 106 | 6A | เจ | ||
| 110 1011 | 153 | 107 | 6บี | เค | ||
| 110 1100 | 154 | 108 | 6ซี | ล | ||
| 110 1101 | 155 | 109 | 6D | ม | ||
| 110 1110 | 156 | 110 | 6E | n | ||
| 110 1111 | 157 | 111 | 6F | โอ | ||
| 111 0000 | 160 | 112 | 70 | พี | ||
| 111 0001 | 161 | 113 | 71 | q | ||
| 111 0010 | 162 | 114 | 72 | ร | ||
| 111 0011 | 163 | 115 | 73 | ส | ||
| 111 0100 | 164 | 116 | 74 | ที | ||
| 111 0101 | 165 | 117 | 75 | คุณ | ||
| 111 0110 | 166 | 118 | 76 | วี | ||
| 111 0111 | 167 | 119 | 77 | ว | ||
| 111 1000 | 170 | 120 | 78 | x | ||
| 111 1001 | 171 | 121 | 79 | y | ||
| 111 1010 | 172 | 122 | 7A | z | ||
| 111 1011 | 173 | 123 | 7B | { | ||
| 111 1100 | 174 | 124 | 7ซี | แอก | ¬ | | |
| 111 1101 | 175 | 125 | 7D | } | ||
| 111 1110 | 176 | 126 | 7E | เอสเอส | | | ~ |
การใช้งาน
ASCII ถูกนำมาใช้ในเชิงพาณิชย์ครั้งแรกในปี 1963 ในฐานะรหัสโทรพิมพ์เจ็ดบิตสำหรับเครือข่าย TWX (TeletypeWriter eXchange) ของAmerican Telephone & Telegraph TWX เดิมใช้ ITA2 ห้าบิตรุ่นก่อนหน้า ซึ่ง ระบบโทรพิมพ์Telexคู่แข่งก็ใช้เช่นกันBob Bemerได้แนะนำคุณสมบัติต่างๆ เช่นลำดับการหลีกเลี่ยง [ 7 ] Hugh McGregor Rossเพื่อนร่วมงานชาวอังกฤษของเขาช่วยเผยแพร่ผลงานนี้–ตามที่ Bemer กล่าวไว้ว่า “มากเสียจนรหัสที่จะกลายเป็น ASCII ถูกเรียกว่ารหัส Bemer–Rossในยุโรปเป็นครั้งแรก” [ 53 ]เนื่องจากผลงานมากมายของเขาเกี่ยวกับ ASCII Bemer จึงถูกเรียกว่า “บิดาแห่ง ASCII” [ 54 ]
เมื่อวันที่ 11 มีนาคม พ.ศ. 2511 ประธานาธิบดีลินดอน บี. จอห์นสัน แห่งสหรัฐอเมริกา ได้ออกคำสั่งให้คอมพิวเตอร์ทุกเครื่องที่รัฐบาลกลางสหรัฐฯ จัดซื้อ ต้องรองรับ ASCII โดยระบุว่า: [ 55 ] [ 56 ] [ 57 ]
ข้าพเจ้าได้อนุมัติข้อเสนอแนะของรัฐมนตรีว่าการกระทรวงพาณิชย์[ ลูเธอร์ เอช. ฮอดจ์ส]เกี่ยวกับมาตรฐานการบันทึกรหัสมาตรฐานสำหรับการแลกเปลี่ยนข้อมูล (Standard Code for Information Interchange) บนเทปแม่เหล็กและเทปกระดาษเมื่อใช้ในการทำงานของคอมพิวเตอร์ คอมพิวเตอร์และอุปกรณ์ที่เกี่ยวข้องทั้งหมดที่นำเข้าสู่คลังของรัฐบาลกลางตั้งแต่วันที่ 1 กรกฎาคม 1969 เป็นต้นไป จะต้องมีความสามารถในการใช้รหัสมาตรฐานสำหรับการแลกเปลี่ยนข้อมูลและรูปแบบที่กำหนดโดยมาตรฐานเทปแม่เหล็กและเทปกระดาษเมื่อใช้สื่อเหล่านี้
ASCII เป็นการเข้ารหัสอักขระที่ใช้กันมากที่สุดบนเวิลด์ไวด์เว็บจนถึงเดือนธันวาคม พ.ศ. 2550 เมื่อ การเข้ารหัส UTF-8เข้ามาแทนที่ UTF-8 สามารถใช้งานร่วมกับ ASCII ได้ [ 58 ] [ 59 ] [ 60 ]
รูปแบบและอนุพันธ์
เมื่อเทคโนโลยีคอมพิวเตอร์แพร่กระจายไปทั่วโลกหน่วยงานมาตรฐานและบริษัทต่างๆ ได้พัฒนา ASCII เวอร์ชันต่างๆ มากมายเพื่ออำนวยความสะดวกในการแสดงผลภาษาที่ไม่ใช่ภาษาอังกฤษซึ่งใช้อักษรโรมัน เราอาจจัดเวอร์ชันเหล่านี้บางส่วนเป็น " ส่วนขยายของ ASCII " ได้ แม้ว่าบางคนจะใช้คำนี้อย่างไม่ถูกต้องเพื่อหมายถึงทุกเวอร์ชัน รวมถึงเวอร์ชันที่ไม่รักษารูปแบบตัวอักษรของ ASCII ในช่วง 7 บิตด้วย นอกจากนี้ ส่วนขยายของ ASCII ยังถูกเรียกผิดว่าเป็น ASCII อีกด้วย
รหัส 7 บิต
ตั้งแต่เริ่มพัฒนา[ 61 ] ASCII มีจุดประสงค์เพื่อให้เป็นเพียงรูปแบบหนึ่งของประเทศต่างๆ ของมาตรฐานรหัสอักขระสากล
องค์กรมาตรฐานสากลอื่นๆ ได้ให้สัตยาบันการเข้ารหัสอักขระ เช่นISO 646 (1967) ซึ่งเหมือนหรือเกือบเหมือนกับ ASCII โดยมีการเพิ่มเติมอักขระนอกเหนือจากตัวอักษรภาษา อังกฤษ และสัญลักษณ์ที่ใช้ในประเทศอื่นๆ นอกสหรัฐอเมริกา เช่น สัญลักษณ์สำหรับเงินปอนด์สเตอร์ลิง (£) ของสหราชอาณาจักร ซึ่งพบได้ในโค้ดเพจ 1104เกือบทุกประเทศจำเป็นต้องมีเวอร์ชันที่ดัดแปลงจาก ASCII เนื่องจาก ASCII เหมาะสำหรับความต้องการของสหรัฐอเมริกาและอีกไม่กี่ประเทศเท่านั้น ตัวอย่างเช่น แคนาดามีเวอร์ชันของตนเองที่รองรับอักขระภาษาฝรั่งเศส
หลายประเทศได้พัฒนา ASCII เวอร์ชันต่างๆ เพื่อรวมตัวอักษรที่ไม่ใช่ภาษาอังกฤษ (เช่นé , ñ , ß , Ł ) สัญลักษณ์สกุลเงิน (เช่น£ , ¥ ) เป็นต้น ดูเพิ่มเติมที่ YUSCII (ยูโกสลาเวีย)
โดยจะใช้ตัวอักษรส่วนใหญ่ร่วมกัน แต่จะกำหนดตัวอักษรที่มีประโยชน์ในท้องถิ่นอื่นๆ ให้กับจุดรหัส หลายจุด ที่สงวนไว้สำหรับ "การใช้งานระดับชาติ" อย่างไรก็ตาม ระยะเวลาสี่ปีที่ผ่านไประหว่างการตีพิมพ์ ASCII-1963 และการยอมรับคำแนะนำระหว่างประเทศครั้งแรกของ ISO ในปี 1967 [ 62 ]ทำให้ตัวเลือกของ ASCII สำหรับตัวอักษรที่ใช้ในระดับประเทศดูเหมือนจะเป็น มาตรฐาน โดยพฤตินัยสำหรับทั่วโลก ทำให้เกิดความสับสนและความไม่เข้ากันเมื่อประเทศอื่นๆ เริ่มกำหนดจุดรหัสเหล่านี้ด้วยตนเอง
ISO/IEC 646 เช่นเดียวกับ ASCII เป็นชุดอักขระ 7 บิต ไม่มีรหัสเพิ่มเติมใดๆ ดังนั้นรหัสเดียวกันจึงเข้ารหัสอักขระที่แตกต่างกันในประเทศต่างๆ มีการกำหนดรหัสหลีกเลี่ยง (escape codes) เพื่อระบุว่าข้อความนั้นใช้รูปแบบใดในแต่ละประเทศ แต่รหัสเหล่านี้ไม่ค่อยได้ใช้ ดังนั้นจึงมักเป็นไปไม่ได้ที่จะทราบว่าควรใช้รูปแบบใด และด้วยเหตุนี้จึงไม่ทราบว่ารหัสใดแทนอักขระใด และโดยทั่วไปแล้ว ระบบประมวลผลข้อความสามารถรองรับได้เพียงรูปแบบเดียวเท่านั้น
เนื่องจากอักขระวงเล็บเหลี่ยมและวงเล็บปีกกาของ ASCII ถูกกำหนดให้กับรหัสจุด "การใช้งานระดับชาติ" ซึ่งใช้สำหรับตัวอักษรที่มีเครื่องหมายเน้นเสียงในมาตรฐาน ISO/IEC 646 เวอร์ชันระดับชาติอื่นๆ ดังนั้นโปรแกรมเมอร์ชาวเยอรมัน ฝรั่งเศส หรือสวีเดน ฯลฯ ที่ใช้มาตรฐาน ISO/IEC 646 เวอร์ชันระดับชาติของตนเอง แทนที่จะใช้ ASCII จึงต้องเขียนและอ่านข้อความในลักษณะนี้
ä aÄiÜ = 'Ön'; ü
แทนที่จะ
{ a[i] = '\n'; }
C trigraphsถูกสร้างขึ้นเพื่อแก้ปัญหานี้สำหรับANSI Cแม้ว่าการนำมาใช้ที่ล่าช้าและการใช้งานที่ไม่สม่ำเสมอในคอมไพเลอร์จะจำกัดการใช้งานของมันก็ตาม โปรแกรมเมอร์หลายคนยังคงใช้คอมพิวเตอร์แบบ ASCII ดังนั้นข้อความธรรมดาในภาษาสวีเดน เยอรมัน ฯลฯ (ตัวอย่างเช่น ในอีเมลหรือUsenet ) จึงมี "{, }" และรูปแบบที่คล้ายกันอยู่กลางคำ ซึ่งเป็นสิ่งที่โปรแกรมเมอร์เหล่านั้นคุ้นเคย ตัวอย่างเช่น โปรแกรมเมอร์ชาวสวีเดนส่งอีเมลถึงโปรแกรมเมอร์อีกคนเพื่อถามว่าควรไปทานอาหารกลางวันด้วยกันหรือไม่ อาจได้รับคำตอบว่า "N{ jag har sm|rg}sar" ซึ่งควรจะเป็น "Nä jag har smörgåsar" ที่แปลว่า "ไม่ ฉันมีแซนด์วิช"
ในญี่ปุ่นและเกาหลีใต้ ยังคงเป็นเช่นนั้นจนถึงช่วงทศวรรษ 2020,มีการใช้รูปแบบ ASCII ที่ปรับเปลี่ยน โดยที่เครื่องหมายแบ็กสแลช (เลขฐานสิบหก 5C) จะถูกแสดงเป็น ¥ ( สัญลักษณ์เยนในญี่ปุ่น) หรือ ₩ ( สัญลักษณ์วอนในเกาหลี) ซึ่งหมายความว่า ตัวอย่างเช่น เส้นทางไฟล์ C:\Users\Smith จะแสดงเป็น C:¥Users¥Smith (ในญี่ปุ่น) หรือ C:₩Users₩Smith (ในเกาหลี)
ในยุโรปชุดอักขระเทเลเท็กซ์ซึ่งเป็นรูปแบบต่างๆ ของ ASCII ถูกใช้สำหรับคำบรรยายโทรทัศน์ที่ออกอากาศ ซึ่งกำหนดโดยWorld System Teletextและออกอากาศโดยใช้มาตรฐาน DVB-TXT สำหรับการฝังเทเลเท็กซ์ลงในการส่ง DVB [ 63 ]ในกรณีที่คำบรรยายถูกสร้างขึ้นมาสำหรับเทเลเท็กซ์ตั้งแต่แรกและถูกแปลง รูปแบบคำบรรยายที่ได้มาจะถูกจำกัดให้ใช้ชุดอักขระเดียวกัน
รหัส 8 บิต
ในที่สุด เมื่อคอมพิวเตอร์ 8 บิต16 บิตและ32 บิต (และต่อมา64 บิต ) เริ่มเข้ามาแทนที่ คอมพิวเตอร์ 12 บิต 18 บิตและ36 บิตเป็นมาตรฐาน การใช้ไบต์ 8 บิตในการจัดเก็บอักขระแต่ละตัวในหน่วยความจำจึงกลายเป็นเรื่องปกติ ซึ่งเปิดโอกาสให้มีการพัฒนารหัส ASCII แบบขยายขนาด 8 บิต ในกรณีส่วนใหญ่ รหัสเหล่านี้พัฒนาขึ้นเป็นส่วนขยายที่แท้จริงของ ASCII โดยคงการแมปอักขระดั้งเดิมไว้ แต่เพิ่มคำจำกัดความของอักขระเพิ่มเติมหลังจากอักขระ 128 ตัวแรก (เช่น 7 บิต) รหัส ASCII เองยังคงเป็นรหัสเจ็ดบิต: คำว่า "ASCII แบบขยาย" ไม่มีสถานะอย่างเป็นทางการ
สำหรับบางประเทศ มีการพัฒนาส่วนขยาย ASCII แบบ 8 บิต ซึ่งรวมถึงการรองรับอักขระที่ใช้ในภาษาท้องถิ่น (ตัวอย่างเช่นISCIIสำหรับอินเดีย และVISCIIสำหรับเวียดนาม)
แม้แต่ในตลาดที่ไม่จำเป็นต้องเพิ่มอักขระจำนวนมากเพื่อรองรับภาษาเพิ่มเติม ผู้ผลิตระบบคอมพิวเตอร์บ้านรุ่นแรกๆ มักพัฒนาส่วนขยาย 8 บิตของ ASCII เองเพื่อรวมอักขระเพิ่มเติม เช่นอักขระวาดกรอบ อักขระกึ่งกราฟิก และสไปรต์เกมวิดีโอบ่อยครั้งที่ส่วนเพิ่มเติมเหล่านี้ยังแทนที่อักขระควบคุม (ดัชนี 0 ถึง 31 รวมถึงดัชนี 127) ด้วยส่วนขยายเฉพาะแพลตฟอร์มมากขึ้น ในบางกรณี บิตพิเศษถูกใช้เพื่อวัตถุประสงค์อื่น เช่น การสลับวิดีโอแบบกลับด้านวิธีการนี้ถูกใช้โดยATASCIIซึ่งเป็นส่วนขยายของ ASCII ที่พัฒนาโดยAtari
ส่วนขยาย ASCII ส่วนใหญ่มีพื้นฐานมาจาก ASCII-1967 (มาตรฐานปัจจุบัน) แต่บางส่วนขยายก็มีพื้นฐานมาจาก ASCII-1963 ที่เก่ากว่า ตัวอย่างเช่นPETSCIIซึ่งพัฒนาโดยCommodore Internationalสำหรับ ระบบ 8 บิต ของพวกเขา มีพื้นฐานมาจาก ASCII-1963 ในทำนองเดียวกันชุดอักขระ Sharp MZ หลายชุด ก็มีพื้นฐานมาจาก ASCII-1963 เช่นกัน
IBM กำหนดรหัสหน้า 437สำหรับIBM PCโดยแทนที่อักขระควบคุมด้วยสัญลักษณ์กราฟิก เช่นรูปหน้ายิ้มและแมปอักขระกราฟิกเพิ่มเติมไปยังตำแหน่ง 128 ตำแหน่งบนสุด[ 64 ] Digital Equipment Corporationพัฒนาชุดอักขระนานาชาติ (DEC-MCS) สำหรับใช้ในเทอร์มินัลVT220 ที่ ได้รับความนิยม ซึ่งเป็นหนึ่งในส่วนขยายแรกๆ ที่ออกแบบมาสำหรับภาษาต่างประเทศมากกว่ากราฟิกแบบบล็อกAppleกำหนดMac OS Romanสำหรับ Macintosh และAdobeกำหนดPostScript Standard EncodingสำหรับPostScriptทั้งสองชุดประกอบด้วยตัวอักษร "นานาชาติ" สัญลักษณ์การพิมพ์ และเครื่องหมายวรรคตอน แทนที่จะเป็นกราฟิก คล้ายกับชุดอักขระสมัยใหม่มากกว่า
มาตรฐานISO/IEC 8859 (ที่ได้มาจาก DEC-MCS) ได้กำหนดมาตรฐานที่ระบบส่วนใหญ่คัดลอก (หรืออย่างน้อยก็ใช้เป็นพื้นฐาน หากไม่ได้คัดลอกอย่างตรงตัว) ส่วนขยายเพิ่มเติมที่ได้รับความนิยมซึ่งออกแบบโดย Microsoft คือWindows-1252 (มักถูกเรียกผิดว่าเป็นISO-8859-1 ) ซึ่งเพิ่มเครื่องหมายวรรคตอนที่จำเป็นสำหรับการพิมพ์ข้อความแบบดั้งเดิม ISO-8859-1, Windows-1252 และ ASCII 7 บิตดั้งเดิมเป็นวิธีการเข้ารหัสอักขระที่พบได้บ่อยที่สุดบนWorld Wide Webจนถึงปี 2008 เมื่อUTF-8เข้ามาแทนที่[ 59 ]
ISO/IEC 4873ได้แนะนำรหัสควบคุมเพิ่มเติม 32 รหัสที่กำหนดไว้ใน ช่วง เลขฐานสิบหก 80–9F ซึ่งเป็นส่วนหนึ่งของการขยายการเข้ารหัส ASCII 7 บิตให้กลายเป็นระบบ 8 บิต[ 65 ]
ยูนิโค้ด
Unicode และ ชุดอักขระสากล ISO/IEC 10646 (UCS) มีอักขระให้เลือกใช้มากกว่ามาก และรูปแบบการเข้ารหัสต่างๆ ของพวกมันได้เริ่มเข้ามาแทนที่ ISO/IEC 8859 และ ASCII อย่างรวดเร็วในหลายๆ สภาพแวดล้อม ในขณะที่ ASCII จำกัดอยู่ที่ 128 อักขระ แต่ Unicode และ UCS รองรับอักขระได้มากกว่าโดยการแยกแนวคิดของการระบุตัวตนที่ไม่ซ้ำกัน (โดยใช้ตัวเลขธรรมชาติที่เรียกว่าโค้ดพอยต์ ) และการเข้ารหัส (เป็นรูปแบบไบนารี 8, 16 หรือ 32 บิต ซึ่งเรียกว่าUTF-8 , UTF-16และUTF-32ตามลำดับ)
ASCII ถูกรวมเข้าในชุดอักขระ Unicode (1991) เป็นสัญลักษณ์ 128 ตัวแรก ดังนั้นอักขระ ASCII 7 บิตจึงมีรหัสตัวเลขเดียวกันในทั้งสองชุด ซึ่งทำให้UTF-8สามารถใช้งานร่วมกับ ASCII 7 บิตได้ เนื่องจากไฟล์ UTF-8 ที่มีเฉพาะอักขระ ASCII จะเหมือนกับไฟล์ ASCII ที่มีลำดับอักขระเดียวกัน ยิ่งไปกว่านั้นความเข้ากันได้ในอนาคตยังได้รับการรับรอง เนื่องจากซอฟต์แวร์ที่รู้จักเฉพาะอักขระ ASCII 7 บิตว่าเป็นอักขระพิเศษและไม่เปลี่ยนแปลงไบต์ที่มีบิตสูงสุด (ดังที่มักทำเพื่อรองรับส่วนขยาย ASCII 8 บิต เช่น ISO-8859-1) จะรักษาข้อมูล UTF-8 ไว้โดยไม่เปลี่ยนแปลง[ 66 ]
ดูเพิ่มเติม
- 3568 ASCII – หน้าเว็บเกี่ยวกับดาวเคราะห์น้อยที่แสดงคำอธิบายสั้นๆ โดยไม่มีช่องว่าง
- รหัส Alt – วิธีการป้อนข้อมูลหน้าเว็บที่แสดงคำอธิบายสั้น ๆ ของเป้าหมายการเปลี่ยนเส้นทาง
- ศิลปะ ASCII – รูปแบบศิลปะคอมพิวเตอร์ที่ใช้ตัวอักษร
- แคมเปญริบบิ้น ASCII – แคมเปญสำหรับอีเมลข้อความธรรมดา (เท่านั้น)
- ภาษาละตินพื้นฐาน (บล็อกยูนิโค้ด)
- Extended ASCII – ชื่อเรียกเล่นของชุดอักขระที่ได้มาจาก ASCII แบบ 8 บิต
- การแสดงผลอักขระทศนิยมใน HTML – การใช้ระบบการเข้ารหัสสำหรับอักขระสากลในหน้าเว็บ HTML ที่แสดงคำอธิบายสั้น ๆ ของเป้าหมายการเปลี่ยนเส้นทาง
- แฟ้มศัพท์เฉพาะ – รวบรวมคำจำกัดความจากกลุ่มย่อยทางวัฒนธรรมคอมพิวเตอร์หน้าเว็บแสดงคำอธิบายสั้น ๆ ของเป้าหมายการเปลี่ยนเส้นทาง
- ไฟล์ข้อความ – ไฟล์คอมพิวเตอร์ที่บรรจุข้อความธรรมดา
- รายการชุดอักขระคอมพิวเตอร์
- รายชื่ออักขระยูนิโค้ด
หมายเหตุ
- 1 2 3 4 5อักขระ 128 ตัวของชุดอักขระ ASCII 7 บิตถูกแบ่งออกเป็นแปดกลุ่ม กลุ่มละ 16 ตัว เรียกว่าแท่ง 0–7 ซึ่งเชื่อมโยงกับบิตที่มีนัยสำคัญที่สุด สาม บิต[ 13 ]ขึ้นอยู่กับการแสดงแผนที่อักขระในแนวนอนหรือแนวตั้งแท่งเหล่านี้สามารถสอดคล้องกับแถวหรือคอลัมน์ของตารางได้
- ↑อักขระยูนิโค้ดจากพื้นที่ "ภาพควบคุม" U+2400 ถึง U+2421 สงวนไว้สำหรับแสดงอักขระควบคุมเมื่อจำเป็นต้องพิมพ์หรือแสดงผลแทนที่จะให้ทำงานตามวัตถุประสงค์ เบราว์เซอร์บางตัวอาจแสดงผลอักขระเหล่านี้ไม่ถูกต้อง
- ↑สัญลักษณ์ Caret มักใช้แทนอักขระควบคุมบนเทอร์มินัล ในเทอร์มินัลข้อความส่วนใหญ่ การกดปุ่ม Shift ค้างไว้ขณะพิมพ์อักขระตัวที่สองจะเป็นการพิมพ์อักขระควบคุม บางครั้งไม่จำเป็นต้องกดปุ่ม Shift เช่นอาจพิมพ์ได้ด้วย Ctrl+2 หรือ Ctrl+Space เท่านั้นCtrl
^@ - ↑ลำดับการหลีกเลี่ยงอักขระในภาษาการเขียนโปรแกรม C และภาษาอื่นๆ อีกมากมายที่ได้รับอิทธิพลจากภาษา C เช่น Javaและ Perl (แม้ว่าการใช้งานทั้งหมดอาจไม่รองรับลำดับการหลีกเลี่ยงทั้งหมดก็ตาม)
- ↑การป้อนอักขระไบต์เดียวใดๆ สามารถทำได้โดยการหลีกเลี่ยงค่าฐานแปดของอักขระนั้น อย่างไรก็ตาม เนื่องจากบทบาทของ NULL ในสตริง Cกรณีนี้จึงต้องใช้เป็นพิเศษ
- ↑ในบางระบบสามารถป้อนอักขระ Backspace ได้โดยการกดปุ่ม← Backspace
- 1 2ความกำกวมของปุ่ม Backspaceเกิดจากเทอร์มินัลรุ่นแรกๆ ที่ออกแบบมาโดยสมมติว่าการใช้งานหลักของแป้นพิมพ์คือการเจาะเทปกระดาษด้วยตนเองในขณะที่ไม่ได้เชื่อมต่อกับคอมพิวเตอร์ ในการลบอักขระก่อนหน้า ผู้ใช้ต้องกดปุ่มย้อนกลับเพื่อลบตัวอักษรที่เจาะบนเทปกระดาษ ซึ่งด้วยเหตุผลทางกลไกและความเรียบง่าย ปุ่มนี้จึงอยู่บนตัวเครื่องเจาะ ไม่ใช่บนแป้นพิมพ์ จากนั้นจึงพิมพ์อักขระลบ ดังนั้นจึงมีการวางปุ่มที่สร้างอักขระลบไว้ในตำแหน่งเดียวกับที่ใช้สำหรับปุ่ม Backspace บนเครื่องพิมพ์ดีด เมื่อระบบต่างๆ ใช้เทอร์มินัลเหล่านี้และมีการแก้ไขแบบบรรทัดคำสั่ง พวกเขาต้องใช้รหัส "ลบ" เพื่อทำการ Backspace และมักจะไม่ตีความอักขระ Backspace (พวกเขาอาจแสดง " ^H " สำหรับ Backspace) เทอร์มินัลอื่นๆ ที่ไม่ได้ออกแบบมาสำหรับเทปกระดาษทำให้ปุ่มในตำแหน่งนี้สร้างอักขระ Backspace และระบบที่ออกแบบมาสำหรับเทอร์มินัลเหล่านี้ใช้อักขระนั้นในการสำรองข้อมูล เนื่องจากรหัสลบมักจะสร้างเอฟเฟกต์ Backspace ทำให้ผู้ผลิตเทอร์มินัลต้องทำให้ปุ่มใดๆ สร้างอักขระอื่นที่ไม่ใช่อักขระลบDelete
- ↑นอกจากนี้ยังสามารถป้อนอักขระ Tabได้ปุ่มบนระบบส่วนใหญ่Tab ↹
- ↑ อักขระขึ้นบรรทัดใหม่ ( Carriage Return)สามารถป้อนได้โดยการกดหรือบนระบบส่วนใหญ่↵ EnterReturn
- ↑ลำดับการหลีกเลี่ยง\eไม่ได้เป็นส่วนหนึ่งของมาตรฐาน ISO C และข้อกำหนดภาษาอื่นๆ อีกมากมาย อย่างไรก็ตาม คอมไพเลอร์หลายตัว รวมถึง GCCเข้าใจลำดับการนี้
- ↑ในบางระบบสามารถป้อนอักขระ Escapeได้Esc
- ↑ ^^ หมายถึง+(โดยการกดปุ่ม "Ctrl" และ ปุ่มเครื่องหมาย แคเร็ต )Ctrl^
- ↑ในบางระบบสามารถป้อนอักขระลบได้โดยการกดปุ่ม← Backspace
- ↑เมื่อพิมพ์ออกมาแล้ว ตัวอักษรจะเป็นดังนี้:
!"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ [\]^_ ` abcdefghijklmnopqrstuvwxyz{|}~
- ↑ แอนซี (1975-12-01). ISO-IR-6: ชุดอักขระกราฟิก ASCII (PDF ) ITSCJ / IPSJ
- 1 2 "ชุดอักขระ" . หน่วยงานกำหนดหมายเลขอินเทอร์เน็ต (IANA) . 14 พฤษภาคม 2550 . สืบค้นเมื่อ25 สิงหาคม 2562 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Mackenzie, Charles E. (1980). ชุดอักขระที่เข้ารหัส ประวัติและการพัฒนา (PDF)ชุดการเขียนโปรแกรมระบบ (ฉบับที่ 1 )สำนักพิมพ์ Addison-Wesleyหน้า6, 66, 211, 215, 217, 220, 223, 228 , 236–238 , 243–245 , 247–253 , 423 , 425–428 , 435–439 ISBN 978-0-201-14460-4LCCN 77-90165เก็บถาวร(PDF)จากต้นฉบับเมื่อวันที่ 26 พฤษภาคม 2016 เรียกดูเมื่อวันที่25 สิงหาคม 2019
- ↑ Shirley, R. (สิงหาคม 2550). คำศัพท์ด้านความปลอดภัยทางอินเทอร์เน็ต ฉบับที่ 2 . IETF . doi : 10.17487/RFC4949 . RFC 4949 . สืบค้นเมื่อ13 มิถุนายน 2559 .
- ↑ Maini, Anil Kumar (2007). อิเล็กทรอนิกส์ดิจิทัล: หลักการ อุปกรณ์ และการประยุกต์ใช้งาน . John Wiley and Sons . หน้า28. ISBN 978-0-470-03214-5นอกจาก
นี้ ยังกำหนดรหัสสำหรับอักขระควบคุมที่ไม่สามารถพิมพ์ได้อีก 33 ตัว ซึ่งส่วนใหญ่เป็นอักขระที่ล้าสมัยแล้ว และมีผลต่อวิธีการประมวลผลข้อความ
- ↑ "ข้อเสนอหลักชัย: หลักชัย ASCII - ส่วนชายฝั่ง IEEE รัฐนิวเจอร์ซีย์"วิกิหลักชัยของ IEEE 29 มีนาคม 2016 สืบค้นเมื่อ26 กุมภาพันธ์ 2024
- 1 2 Brandel, Mary (1999-07-06). "1963: การเปิดตัว ASCII" . CNN . เก็บถาวรจากต้นฉบับเมื่อ 2013-06-17 . สืบค้นเมื่อ2008-04-14 .
- 1 2 3 4 "มาตรฐานรหัสการแลกเปลี่ยนข้อมูลของอเมริกา, ASA X3.4-1963"การวิจัยที่ละเอียดอ่อนสมาคมมาตรฐานอเมริกัน 17 มิถุนายน 1963 สืบค้นเมื่อ 6 มิถุนายน 2020
- 1 2 3 มาตรฐานรหัสการแลกเปลี่ยนข้อมูลของสหรัฐอเมริกา USAS X3.4-1967 (รายงานทางเทคนิค) สถาบันมาตรฐานแห่งสหรัฐอเมริกา 7 กรกฎาคม 1967
- ↑ Jennings, Thomas Daniel (2016-04-20) [1999]. "ประวัติพร้อมคำอธิบายของรหัสอักขระบางรหัสหรือ ASCII: รหัสมาตรฐานอเมริกันสำหรับการแทรกซึมข้อมูล"การวิจัยที่ละเอียดอ่อนสืบค้นเมื่อ2020-03-08
- 1 2 3 4 มาตรฐานแห่งชาติอเมริกันสำหรับระบบสารสนเทศ — ชุดอักขระรหัส — รหัสมาตรฐานแห่งชาติอเมริกัน 7 บิตสำหรับการแลกเปลี่ยนข้อมูล (ASCII 7 บิต), ANSI X3.4-1986 (รายงานทางเทคนิค) สถาบันมาตรฐานแห่งชาติอเมริกัน (ANSI) 26 มีนาคม 1986
- ↑ Bukstein, Ed (กรกฎาคม 1964). "รหัสคอมพิวเตอร์ไบนารีและ ASCII" . Electronics World . 72 (1): 28– 29. เก็บถาวรจากต้นฉบับเมื่อ 2016-03-03 . สืบค้นเมื่อ2016-05-22 .
- 1 2 3 4 5 6 Bemer, Robert William (1980). "บทที่ 1: ภายใน ASCII" (PDF)ซอฟต์แวร์อเนกประสงค์ สิ่งที่ดีที่สุดของยุคอินเทอร์เฟซ เล่ม2 พอร์ตแลนด์ รัฐโอเรกอน สหรัฐอเมริกา: สำนักพิมพ์ไดลิเธียมหน้า1–50 ISBN 978-0-918398-37-6LCCN 79-67462เก็บถาวรจากต้นฉบับเมื่อ 2016-08-27 เรียกดูเมื่อ2016-08-27 จาก:
- Bemer, Robert William (พฤษภาคม 1978). "ภายใน ASCII –ตอนที่ 1". Interface Age . 3 (5): 96– 102.
- Bemer, Robert William (มิถุนายน 1978). "ภายใน ASCII –ตอนที่ 2". Interface Age . 3 (6): 64– 74.
- Bemer, Robert William (กรกฎาคม 1978). "ภายใน ASCII –ตอนที่ 3". Interface Age . 3 (7): 80– 87.
- ↑รายงานโดยย่อ: การประชุมคณะทำงาน CCITT เกี่ยวกับอักษรโทรเลขใหม่ วันที่ 13-15 พฤษภาคม 1963
- ↑รายงานของ ISO/TC/97/SC 2 –การประชุมวันที่ 29–31 ตุลาคม 1963
- ↑รายงานของคณะทำงาน X3.2.4 วันที่ 11 มิถุนายน 1963 อาคารเพนตากอน วอชิงตัน ดี.ซี.
- ↑รายงานการประชุมครั้งที่ 8 คณะทำงาน X3.2.4 วันที่ 17 และ 18 ธันวาคม พ.ศ. 2506
- 1 2 3 Winter, Dik T. (2010) [2003]. "มาตรฐานของสหรัฐอเมริกาและมาตรฐานสากล: ASCII" . เก็บถาวรจากต้นฉบับเมื่อ 2010-01-16.
- 1 2 มาตรฐานรหัสการแลกเปลี่ยนข้อมูลของสหรัฐอเมริกา USAS X3.4-1968 (รายงานทางเทคนิค) สถาบันมาตรฐานแห่งสหรัฐอเมริกา 10 ตุลาคม 1968
- 1 2 3 4 5 6 7 Salste, Tuomas (มกราคม 2016). "ชุดอักขระ 7 บิต: การแก้ไข ASCII" . Aivosto Oy. urn : nbn:fi-fe201201011004 . เก็บถาวรจากต้นฉบับเมื่อ 2016-06-13 . เรียกดูเมื่อ2016-06-13 .
- 1 2 Cerf, Vint (1969-10-16). รูปแบบ ASCII สำหรับการแลกเปลี่ยนเครือข่ายกลุ่มงานเครือข่ายdoi : 10.17487/RFC0020 . RFC 20 . สืบค้นเมื่อ2016-06-13 .(หมายเหตุ: เนื้อหาเกือบเหมือนกับUSAS X3.4-1968ยกเว้นส่วนนำ)
- ↑ Barry Leiba (12 มกราคม 2015). "การจำแนกประเภทที่ถูกต้องของ RFC 20 (รูปแบบ ASCII) ให้เป็นมาตรฐานอินเทอร์เน็ต" . IETF .
- ↑ " ข้อมูล" Scientific American (ฉบับพิเศษ) 215 (3) กันยายน 1966 JSTOR e24931041
- ↑ Korpela, Jukka K. (14 มีนาคม 2557) [7 มิถุนายน 2549]. Unicode Explained – Internationalize Documents, Programs, and Web Sites (ฉบับที่ 2 ของฉบับพิมพ์ครั้งแรก). O'Reilly Media, Inc.หน้า118. ISBN 978-0-596-10121-3.
- ↑ ANSI INCITS 4-1986 (R2007): มาตรฐานแห่งชาติอเมริกันสำหรับระบบสารสนเทศ–ชุดอักขระที่เข้ารหัส–รหัสมาตรฐานแห่งชาติอเมริกัน 7 บิตสำหรับการแลกเปลี่ยนข้อมูล (ASCII 7 บิต) , 2007 [1986]
- ↑ "INCITS 4-1986 [ R2012 ] : ระบบสารสนเทศ - ชุดอักขระเข้ารหัส - รหัสมาตรฐานแห่งชาติอเมริกัน 7 บิตสำหรับการแลกเปลี่ยนข้อมูล (ASCII 7 บิต)" . 2012-06-15. เก็บถาวรจากต้นฉบับเมื่อ 2020-02-28 . เรียกดูเมื่อ2020-02-28 .
- ↑ "INCITS 4-1986 [ R2017 ] : ระบบสารสนเทศ - ชุดอักขระเข้ารหัส - รหัสมาตรฐานแห่งชาติอเมริกัน 7 บิตสำหรับการแลกเปลี่ยนข้อมูล (ASCII 7 บิต)" . 2 พฤศจิกายน 2017 [9 มิถุนายน 2017]. เก็บถาวรจากต้นฉบับเมื่อ 28 กุมภาพันธ์ 2020 . เรียกดู เมื่อ 28 กุมภาพันธ์ 2020 .
- ↑ "INCITS 4-1986 (R2022) " เว็บสโตร์.ansi.org .
- ↑ การจัดลำดับบิตของรหัสมาตรฐานแห่งชาติอเมริกันสำหรับการแลกเปลี่ยนข้อมูล ในการส่งข้อมูลแบบอนุกรมทีละบิตสถาบันมาตรฐานแห่งชาติอเมริกัน (ANSI), 1966, X3.15-1966
- ↑ "ข้อบังคับโทรเลขและพิธีสารฉบับสุดท้าย (มาดริด, 1932)" (PDF) . เก็บถาวรจากต้นฉบับเมื่อ 2023-08-21 . เรียกดูเมื่อ2024-06-09 .
- 1 2 Smith, Gil (2001). "รหัสการสื่อสารโทรเลข" (PDF) . Baudot.net. เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2008-08-20 . เรียกดูเมื่อ2008-07-11 .
- ↑ Sawyer, Stanley A.; Krantz, Steven George (1995). คู่มือ TeX สำหรับนักวิทยาศาสตร์ . สำนักพิมพ์ CRC . หน้า13. รหัสบรรณานุกรม : 1995tps..book.....S . ISBN 978-0-8493-7159-2เก็บถาวรจากต้นฉบับเมื่อ 2016-12-22 เรียกดูเมื่อ2016-10-29
- ↑ Savard, John JG "แป้นพิมพ์คอมพิวเตอร์" . เก็บถาวรจากต้นฉบับเมื่อ 2014-09-24 . เรียกดูเมื่อ2014-08-24 .
- ↑ "ASCIIbetical" . สารานุกรมPCMag . สืบค้นเมื่อ2026-06-23 .
- ↑ Resnick, Peter W., บรรณาธิการ (เมษายน 2544). รูปแบบข้อความอินเทอร์เน็ต . IETF . doi : 10.17487/RFC2822 . RFC 2822. สืบค้นเมื่อ13 มิถุนายน 2559 .(หมายเหตุ: ห้ามใช้คำสั่ง NO-WS-CTL)
- ↑ McConnell, Robert; Haynes, James; Warren, Richard. "Understanding ASCII Codes" . เก็บถาวรจากต้นฉบับเมื่อ 2014-02-27 . เรียกดูเมื่อ2014-05-11 .
- ↑ Barry Margolin (2014-05-29). "เรื่อง: ประวัติโปรแกรมแก้ไขข้อความและโปรแกรมประมวลผลคำ (เดิม: เรื่อง: RTF สำหรับ emacs)" . help-gnu-emacs (รายชื่อผู้รับจดหมาย). เก็บถาวรจากต้นฉบับเมื่อ 2014-07-14 . เรียกดูเมื่อ2014-07-11 .
- 1 2 "คู่มือระบบมัลติโปรแกรมมิ่ง PDP-6" (PDF) . บริษัท ดิจิทัล อีควิซิเบิล คอร์ปอเรชั่น (DEC). 1965. หน้า43. เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2014-07-14 . เรียกดูเมื่อ2014-07-10 .
- 1 2 "คู่มืออ้างอิง PDP-10 เล่ม 3 การสื่อสารกับจอภาพ" (PDF) . บริษัท ดิจิทัล อีควิซิเบิล คอร์ปอเรชั่น (DEC). 1969. หน้า 5-5. เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2011-11-15 . เรียกดูเมื่อ2014-07-10 .
- ↑ "ความช่วยเหลือ - คู่มือการใช้งาน GNU Emacs" . เก็บถาวรจากต้นฉบับเมื่อ 2018-07-11 . เรียกดูเมื่อ2018-07-11 .
- ↑ "ANSI X3.64-1979" (PDF) . สืบค้นเมื่อ2024-10-27 .
- ↑ ทิม แพเตอร์สัน (2007-08-08). "DOS ลอกเลียนแบบ CP/M หรือไม่?" . DosMan Drivel . เก็บถาวรจากต้นฉบับเมื่อ 2018-04-20 . เรียกดูเมื่อ2018-04-19 .
- ↑ Ossanna, JF ; Saltzer, JH (17–19 พฤศจิกายน 1970). "ปัญหาทางเทคนิคและวิศวกรรมมนุษย์ในการเชื่อมต่อเทอร์มินัลกับระบบแบ่งเวลา" (PDF) . รายงานการประชุมFall Joint Computer Conference (FJCC) ประจำวันที่ 17–19 พฤศจิกายน 1970 . สำนักพิมพ์ AFIPS . หน้า355–362 . เก็บถาวร(PDF)จากต้นฉบับเมื่อ 19 สิงหาคม 2012. สืบค้นเมื่อ29 มกราคม 2013.
การใช้ฟังก์ชัน "ขึ้นบรรทัดใหม่" (การรวมการขึ้นบรรทัดใหม่และการป้อนบรรทัด) นั้นง่ายกว่าสำหรับทั้งคนและเครื่องจักรมากกว่าการใช้ทั้งสองฟังก์ชันเพื่อเริ่มต้นบรรทัดใหม่ มาตรฐานแห่งชาติอเมริกัน X3.4-1968 อนุญาตให้รหัสการป้อนบรรทัดมีความหมายเหมือนกับการขึ้นบรรทัดใหม่
- ↑ O'Sullivan, T. (19 พฤษภาคม 1971). โปรโตคอล TELNET . คณะทำงานด้านวิศวกรรมอินเทอร์เน็ต (IETF). หน้า4–5. doi : 10.17487/RFC0158 . RFC 158. สืบค้นเมื่อ28 มกราคม 2013 .
- ↑ Neigus, Nancy J. (12 สิงหาคม 1973). โปรโตคอลการถ่ายโอนไฟล์ . คณะทำงานด้านวิศวกรรมอินเทอร์เน็ต (IETF). doi : 10.17487/RFC0542 . RFC 542. สืบค้นเมื่อ28 มกราคม 2013 .
- ↑ Postel, Jon (มิถุนายน 1980). โปรโตคอลการถ่ายโอนไฟล์ . คณะทำงานด้านวิศวกรรมอินเทอร์เน็ต (IETF). doi : 10.17487/RFC0765 . RFC 765. สืบค้นเมื่อ28 มกราคม 2013 .
- ↑ Crocker, David (1982-08-13). มาตรฐานสำหรับรูปแบบข้อความ ARPA ทางอินเทอร์เน็ตคณะทำงานด้านวิศวกรรมอินเทอร์เน็ต (IETF). doi : 10.17487 /RFC0822 . RFC 822 .
- ↑ Berners-Lee, Tim และคณะ (พฤษภาคม 1996). โปรโตคอลการถ่ายโอนไฮเปอร์เท็กซ์ -- HTTP/1.0 . คณะทำงานด้านวิศวกรรมอินเทอร์เน็ต (IETF). doi : 10.17487/RFC1945 . RFC 1945 .
- ↑ "แผนการแปล EOL สำหรับ Mercurial" . Mercurial. เก็บถาวรจากต้นฉบับเมื่อ 2016-06-16 . เรียกดูเมื่อ2017-06-24 .
- ↑ Bernstein, Daniel J. "Bare LFs in SMTP" . เก็บถาวรจากต้นฉบับเมื่อ 2011-10-29 . เรียกดูเมื่อ2013-01-28 .
- ↑ คู่มือการใช้งานอินเทอร์เฟซ CP/M 1.4 (PDF) . Digital Research . 1978. หน้า10. เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2019-05-29 . เรียกดูเมื่อ2017-10-07 .
- ↑ Haynes, Jim (2015-01-13). "First-Hand: Chad is Our Most Important Product: An Engineer's Memory of Teletype Corporation" . Engineering and Technology History Wiki (ETHW) . สืบค้นเมื่อ2023-02-14 .
มีการเปลี่ยนแปลงจาก ASCII ปี 1961 เป็น ASCII ปี 1968 ภาษาคอมพิวเตอร์บางภาษาใช้ตัวอักษรใน ASCII ปี 1961 เช่น ลูกศรขึ้นและลูกศรซ้าย ตัวอักษรเหล่านี้หายไปจาก ASCII ปี 1968 เราทำงานร่วมกับ Fred Mocking ซึ่งในขณะนั้นทำงานด้านการขายที่
Teletype
ในการสร้างกระบอกพิมพ์ที่ประนีประนอมกับตัวอักษรที่เปลี่ยนแปลงไป เพื่อไม่ให้ความหมายของ ASCII ปี 1961 สูญหายไปทั้งหมด ตัวอักษรขีดเส้นใต้ถูกทำให้มีรูปร่างคล้ายลิ่ม เพื่อให้สามารถใช้เป็นลูกศรซ้ายได้ด้วย
- ↑ Bemer, Robert William . "Bemer พบกับยุโรป (มาตรฐานคอมพิวเตอร์) –เกร็ดประวัติศาสตร์คอมพิวเตอร์" . Trailing-edge.com. เก็บถาวรจากต้นฉบับเมื่อ 2013-10-17 . เรียกดูเมื่อ2008-04-14 . (หมายเหตุ: ในขณะนั้น เบเมอร์ทำงานอยู่ที่IBM )
- ↑ "โรเบิร์ต วิลเลียม เบเมอร์: ชีวประวัติ" . 2013-03-09. เก็บถาวรจากต้นฉบับเมื่อ 2016-06-16.
- ↑ จอห์นสัน, ลินดอน เบนส์ (11 มีนาคม 1968). "บันทึกความเห็นชอบการนำรหัสมาตรฐานสำหรับการแลกเปลี่ยนข้อมูลมาใช้โดยรัฐบาลกลาง"โครงการประธานาธิบดีอเมริกันเก็บถาวรจากต้นฉบับเมื่อ 14 กันยายน 2007 สืบค้นเมื่อ 14 เมษายน2008
- ↑ Richard S. Shuford (20 ธันวาคม 1996). "เรื่อง: ประวัติศาสตร์ยุคแรกของ ASCII?" . กลุ่มข่าว : alt.folklore.computers . Usenet: [email protected] .
- ↑ Folts, Harold C.; Karp, Harry, บรรณาธิการ (1982-02-01). การรวบรวมมาตรฐานการสื่อสารข้อมูล ( ฉบับแก้ไขครั้งที่ 2). McGraw-Hill Inc. ISBN 978-0-07-021457-6.
- ↑ Dubost, Karl (2008-05-06). "การเติบโตของ UTF-8 บนเว็บ" . บล็อก W3C . สมาคมเว็บทั่วโลก . เก็บถาวรจากต้นฉบับเมื่อ 2016-06-16 . เรียกดูเมื่อ2010-08-15 .
- 1 2 เดวิส, มาร์ค (5 พฤษภาคม 2551). "การเปลี่ยนไปใช้ Unicode 5.1" . บล็อกอย่างเป็นทางการของ Google . เก็บถาวรจากต้นฉบับเมื่อ 16 มิถุนายน 2559 . เรียกดูเมื่อ15 สิงหาคม 2553 .
- ↑ เดวิส, มาร์ค (2010-01-28). "Unicode ใกล้จะครอบคลุม 50% ของเว็บแล้ว" . บล็อกอย่างเป็นทางการของ Google . เก็บถาวรจากต้นฉบับเมื่อ 2016-06-16 . เรียกดูเมื่อ2010-08-15 .
- ↑ "เกณฑ์เฉพาะ" เอกสารแนบในบันทึกจาก RW Reach เรื่อง "การประชุม X3-2 – 14 และ 15 กันยายน" วันที่ 18 กันยายน 1961
- ↑ Maréchal, R. (22 ธันวาคม 1967), ISO/TC 97 –คอมพิวเตอร์และการประมวลผลข้อมูล: การยอมรับร่างข้อแนะนำ ISO หมายเลข 1052
- ↑ "ข้อกำหนด DVB-TXT (เทเลเท็กซ์) สำหรับการส่งต่อเทเลเท็กซ์ระบบ B ของ ITU-R ในบิตสตรีม DVB "
- ↑ เอกสารอ้างอิงทางเทคนิค (PDF) . ห้องสมุดอ้างอิงฮาร์ดแวร์คอมพิวเตอร์ส่วนบุคคล ( ฉบับพิมพ์ครั้งแรก) IBM. สิงหาคม 1981. ภาคผนวก C. ว่าด้วยอักขระ การกดแป้นพิมพ์ และสี
- ↑สมาคมยูนิโค้ด (27 ตุลาคม 2549) "บทที่ 13: พื้นที่พิเศษและอักขระรูปแบบ" (PDF)ใน อัลเลน, จูลี ดี. (บรรณาธิการ) มาตรฐานยูนิโค้ด เวอร์ชัน 5.0อัปเปอร์ แซดเดิล ริเวอร์ รัฐนิวเจอร์ซีย์ สหรัฐอเมริกา: แอดดิสัน-เวสลีย์ โปรเฟสชันแนล หน้า314 ISBN 978-0-321-48091-0เก็บถาวร(PDF)จากต้นฉบับเมื่อวันที่ 9 ตุลาคม 2022 เรียกดูเมื่อวันที่ 13 มีนาคม 2015
- ↑ "utf-8(7) – หน้าคู่มือ Linux" . Man7.org. 2014-02-26. เก็บถาวรจากต้นฉบับเมื่อ 2014-04-22 . เรียกดูเมื่อ2014-04-21 .
อ่านเพิ่มเติม
- Bemer, Robert William (1960). "ข้อเสนอสำหรับความเข้ากันได้ของรหัสอักขระ"การสื่อสารของ ACM 3 ( 2): 71– 72. doi : 10.1145/366959.366961 . S2CID 9591147 .
- Bemer, Robert William (2003-05-23). "The Babel of Codes Prior to ASCII: The 1960 Survey of Coded Character Sets: The Reasons for ASCII" . เก็บถาวรจากต้นฉบับเมื่อ 2013-10-17 . สืบค้นเมื่อ2016-05-09 ,จาก:
- Bemer, Robert William (ธันวาคม 1960). "การสำรวจการแสดงอักขระที่เข้ารหัส" . Communications of the ACM . 3 (12): 639– 641. doi : 10.1145/367487.367493 . S2CID 21403172 .
- Smith, HJ; Williams, FA (ธันวาคม 1960). "การสำรวจรหัสบัตรเจาะรู" . การสื่อสารของ ACM . 3 (12): 642. doi : 10.1145/367487.367491 .
- "มาตรฐานรหัสการแลกเปลี่ยนข้อมูลแห่งชาติอเมริกัน | ANSI X3.4-1977" (PDF)สถาบันมาตรฐานแห่งชาติ 1977 เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2022-10-09 (สำเนาแฟกซ์ ไม่สามารถอ่านได้ด้วยเครื่อง)
- Robinson, GS; Cargill, C. (1996). " ประวัติและผลกระทบของมาตรฐานคอมพิวเตอร์" คอมพิวเตอร์เล่มที่ 29, ฉบับที่ 10. หน้า79–85 . doi : 10.1109/2.539725
- Mullendore, Ralph Elvin (1964) [1963]. Ptak, John F. (บรรณาธิการ). "เกี่ยวกับการพัฒนา ASCII ในช่วงแรก–ประวัติศาสตร์ของ ASCII" . JF Ptak Science Books (ตีพิมพ์มีนาคม 2012). เก็บถาวรจากต้นฉบับเมื่อ 2016-05-26 . สืบค้น เมื่อ 2016-05-26 .
ลิงก์ภายนอก
- "C0 Controls and Basic Latin – Range: 0000–007F" (PDF) . มาตรฐาน Unicode 8.0 . Unicode, Inc. 2015 [1991]. เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2016-05-26 . เรียกดูเมื่อ2016-05-26 .