อ่าน 3 นาที
สัญกรณ์แคร์
สัญลักษณ์แคเร็ต (Caret notation) เป็นสัญลักษณ์ที่ใช้ แทน อักขระควบคุม ใน ASCII ^A โดยกำหนดให้ 1 เป็นรหัสควบคุม และไล่เรียงไปตามตัวอักษรจนถึง ^Z 26 เป็นรหัสควบคุม...
สัญกรณ์แคร์
สัญลักษณ์แคเร็ต (Caret notation)เป็นสัญลักษณ์ที่ใช้ แทน อักขระควบคุมในASCII^A โดยกำหนดให้ 1 เป็นรหัสควบคุม และไล่เรียงไปตามตัวอักษรจนถึง^Z26 เป็นรหัสควบคุม สำหรับรหัสควบคุมที่อยู่นอกช่วง 1–26 สัญลักษณ์จะขยายไปยังอักขระ ASCII ที่ไม่ใช่ตัวอักษรที่อยู่ติดกัน ตัวอย่างเช่น^@ใช้สำหรับรหัสควบคุม 0
โดยทั่วไปแล้ว สามารถพิมพ์อักขระควบคุมบนแป้นพิมพ์ได้โดยการกดปุ่มค้างไว้Ctrlแล้วพิมพ์อักขระที่แสดงหลังเคอร์เซอร์ สัญลักษณ์นี้มักใช้เพื่ออธิบายแป้นพิมพ์ลัด แม้ว่าจะไม่ได้ใช้อักขระควบคุมจริง ๆ ก็ตาม (เช่น "พิมพ์ ^X เพื่อตัดข้อความ")
ความหมาย การตีความ หรือการตอบสนองต่อรหัสควบคุมแต่ละรหัสไม่ได้ถูกกำหนดไว้โดยตัวอักษรในสัญลักษณ์เครื่องหมายแคเร็ต
คำอธิบาย
สัญลักษณ์นี้ประกอบด้วยเครื่องหมายแคเร็ต ( ^ ) ตามด้วยอักขระตัวเดียว (โดยปกติจะเป็นตัวพิมพ์ใหญ่) อักขระนั้นมีรหัส ASCII เท่ากับรหัสควบคุม โดยบิตที่แทนค่า 0x40 จะกลับด้าน วิธีนี้ช่วยให้จำได้ง่าย โดยจะทำให้รหัสควบคุม 1 ถึง 26 กลายเป็น^Aถึง^Zอักขระควบคุม ASCII เจ็ดตัวจะอยู่นอกเหนือตัวอักษรพิมพ์ใหญ่ ได้แก่ 0 ( NUL ) คือ^@ , 27 ( ESC ) คือ^[ , 28 ( FS ) คือ^\ , 29 ( GS ) คือ^] , 30 ( RS ) คือ^^ , 31 ( US ) คือ^_ , และ 127 ( DEL ) คือ^ ?
ตัวอย่างเช่น " ^M^J " สำหรับคู่ตัว อักษรขึ้นบรรทัดใหม่ CR, LF ของ Windows และการอธิบายลำดับการหลีกเลี่ยง ANSIเพื่อล้างหน้าจอเป็น " ^[[3J "
เฉพาะอักขระในช่วง 63–95 (" [email protected][\]^_ ") เท่านั้นที่ได้รับอนุญาตในการเขียนสัญลักษณ์ แต่การใช้ตัวอักษรพิมพ์เล็กที่ป้อนจากแป้นพิมพ์นั้นเกือบจะได้รับอนุญาตเสมอ โดยจะถือว่าเทียบเท่ากับตัวอักษรพิมพ์ใหญ่ เมื่อแปลงเป็นอักขระควบคุม ยกเว้น '?' การใช้ค่า 0x1F จะให้ผลลัพธ์เดียวกันและเปลี่ยนตัวอักษรพิมพ์เล็กให้เป็นอักขระควบคุมเดียวกับตัวอักษรพิมพ์ใหญ่ด้วย
ไม่มีรูปแบบสัญลักษณ์เครื่องหมายแคเร็ตที่สอดคล้องกับรหัสควบคุมที่มีมากกว่า 7 บิต เช่นอักขระควบคุม C1ตั้งแต่ 128–159 (0x80–0x9F) โปรแกรมบางโปรแกรมที่สร้างสัญลักษณ์แคเร็ตจะแสดงสิ่งเหล่านี้เป็นเครื่องหมายแบ็กสแลชและเลขฐานแปด (" \200 " ถึง " \237 ") โปรดดูสัญลักษณ์บาร์ที่ใช้โดย Acorn Computers ด้านล่างด้วย
ประวัติศาสตร์
ธรรมเนียมนี้มีมาอย่างน้อยตั้งแต่PDP-6 (1964) จากDigital Equipment Corporation (DEC) และระบบปฏิบัติการของ DEC สำหรับเครื่องนั้น คู่มือสำหรับ PDP-6 อธิบายว่า+ จะพิมพ์↑ C นั่นคือ ลูกศรชี้ขึ้นขนาดเล็กอยู่หน้า C [ 1 ]ในการเปลี่ยนจาก ASCII ปี 1961 เป็น ASCII ปี 1968 ลูกศรชี้ขึ้นกลายเป็นเครื่องหมายแคเร็ต[ 2 ]เครื่องรุ่นต่อจาก PDP-6 คือPDP-10และระบบปฏิบัติการของมันก็ใช้ธรรมเนียมเดียวกัน ระบบปฏิบัติการที่ไม่ใช่ของ DEC สำหรับ PDP-10 บางระบบ เช่นTENEX [ 3 ]และITS [ 4 ]ก็ได้นำธรรมเนียมนี้มาใช้เช่น กันControlC
มีการใช้รูปแบบเดียวกันในระบบปฏิบัติการของ DEC สำหรับมินิคอมพิวเตอร์ PDP -11 เช่นRT-11 [ 5 ] RSTS [ 6 ] [ 7 ]และRSX- 11M [ 8 ]
Unixเวอร์ชันก่อนหน้าไม่ได้ใช้สัญลักษณ์ caret เพื่อแสดงอักขระควบคุมที่ไม่สามารถพิมพ์ได้ แม้ว่า คำสั่ง sttyจะยอมรับสัญลักษณ์ caret เมื่อตั้งค่าอักขระลบและฆ่าบรรทัดก็ตาม[ 9 ] 4BSDเพิ่ม โหมด ctlechoซึ่งอักขระควบคุมจะถูกสะท้อนโดยใช้สัญลักษณ์ caret [ 10 ] ซึ่ง ระบบที่คล้าย Unixในปัจจุบันได้นำมาใช้เป็นechoctl [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ]
ใช้ในซอฟต์แวร์
สัญลักษณ์ Caret ใช้เพื่ออธิบายอักขระควบคุมในเอาต์พุตของโปรแกรมหลายโปรแกรม โดยเฉพาะในระบบUnixเราสามารถเห็นสัญลักษณ์นี้ได้เมื่อโปรแกรมแสดงอักขระขณะที่ผู้ใช้พิมพ์เป็นอินพุต และเมื่อแสดงเนื้อหาของไฟล์ในโปรแกรมแก้ไขข้อความ หรือเมื่อใช้คำสั่ง moreและless
เทอร์มินัลและโปรแกรมจำลองเทอร์มินัลหลายตัวอนุญาตให้ผู้ใช้ป้อนอักขระควบคุมโดยการกดปุ่มค้างไว้แล้วพิมพ์ตัวอักษรสัญลักษณ์เคอร์เซอร์ อักขระควบคุมหลายตัว (เช่นEOT ) ไม่สามารถป้อนได้โดยตรงจากแป้นพิมพ์ โดยปกติแล้วจะหลีกเลี่ยงการกดปุ่มค้างไว้(ตัวอย่างเช่น ตัวอักษรพิมพ์เล็กทำงานเหมือนกับตัวอักษรพิมพ์ใหญ่) บนแป้นพิมพ์แบบสหรัฐอเมริกา+ จะสร้าง DEL และ+ จะสร้าง ^@ นอกจากนี้ยังพบได้บ่อยที่+ จะสร้าง ^@ ด้วยCtrl⇧ Shiftctrl/ctrl2ctrlspace
ความสัมพันธ์นี้ส่งผลต่อทางลัดที่ใช้แม้ในซอฟต์แวร์สมัยใหม่ ตัวอย่างเช่น อาจเป็นเรื่องง่ายที่จะทำให้+ หมายถึง "ช่วยเหลือ" แต่เนื่องจากเป็นรหัสเดียวกับดังนั้นจึงมีการคิดค้นทางลัดอื่นสำหรับ "ช่วยเหลือ " ขึ้นมาCtrlH← Backspace
สัญลักษณ์ทางเลือก
API การประมวลผลสตริง GSTrans บนระบบปฏิบัติการสำหรับAcorn AtomและBBC MicroและบนRISC OSสำหรับAcorn Archimedesและเครื่องรุ่นต่อมา ใช้ตัวอักขระขีดแนวตั้ง|แทนเครื่องหมายแคเร็ต ตัวอย่างเช่น|M(ออกเสียงว่า "control em" เหมือนกับที่ใช้ใน^Mสัญลักษณ์) คือตัวอักขระขึ้นบรรทัดใหม่ รหัส ASCII 13 ||คือตัวอักขระขีดแนวตั้ง รหัส 124 |?คือตัวอักขระ 127 ดังข้างต้น และ|!บวก 128 เข้ากับรหัสของตัวอักขระที่ตามมา ดังนั้น|!|?คือ รหัสตัวอักขระ128 + 127 = 255
ดูเพิ่มเติม
- รหัสควบคุม C0 และ C1ซึ่งแสดงสัญลักษณ์เครื่องหมายแคเร็ตสำหรับรหัสควบคุม C0 ทั้งหมด รวมถึง DEL ด้วย
- ปุ่มควบคุม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ สัญกรณ์แคร์
สัญลักษณ์แคเร็ต (Caret notation) เป็นสัญลักษณ์ที่ใช้ แทน อักขระควบคุม ใน ASCII ^A โดยกำหนดให้ 1 เป็นรหัสควบคุม และไล่เรียงไปตามตัวอักษรจนถึง ^Z 26 เป็นรหัสควบคุม...
คำอธิบาย
สัญลักษณ์นี้ประกอบด้วยเครื่องหมาย แคเร็ต ( ^ ) ตามด้วยอักขระตัวเดียว (โดยปกติจะเป็นตัวพิมพ์ใหญ่) อักขระนั้นมีรหัส ASCII เท่ากับรหัสควบคุม โดยบิตที่แทนค่า 0x40 จะกลับด้าน วิธีนี้ช่วยให้จำได้ง่าย โดยจะทำให้รหัสควบคุม 1 ถึง 26 กลายเป็น ^A ถึง ^Z อักขระควบคุม...
ประวัติศาสตร์
ธรรมเนียมนี้มีมาอย่างน้อยตั้งแต่ PDP-6 (1964) จาก Digital Equipment Corporation (DEC) และระบบปฏิบัติการของ DEC สำหรับเครื่องนั้น คู่มือสำหรับ PDP-6 อธิบายว่า+ จะพิมพ์ ↑ C นั่นคือ ลูกศรชี้ขึ้นขนาดเล็กอยู่หน้า C [ 1 ] ในการเปลี่ยนจาก ASCII ปี 1961 เป็น ASCII ปี...
ใช้ในซอฟต์แวร์
สัญลักษณ์ Caret ใช้เพื่ออธิบายอักขระควบคุมในเอาต์พุตของโปรแกรมหลายโปรแกรม โดยเฉพาะในระบบ Unix เราสามารถเห็นสัญลักษณ์นี้ได้เมื่อโปรแกรมแสดงอักขระขณะที่ผู้ใช้พิมพ์เป็นอินพุต และเมื่อแสดงเนื้อหาของไฟล์ในโปรแกรมแก้ไขข้อความ หรือเมื่อใช้คำสั่ง more และ less