การเข้ารหัสอักขระเกี่ยวข้องกับแบบอักษรอย่างไร


11

ฉันหมายถึงฟอนต์ต้องสนับสนุนการเข้ารหัสอักขระทุกตัวหรือไม่ หรือการเข้ารหัสอักขระต้องรองรับทุกฟอนต์หรือไม่

แบบอักษร Unicode หมายถึงอะไร เป็นฟอนต์ที่รองรับเฉพาะ Unicode และไม่รองรับพูดว่า windows-1252?


คำตอบ:


7

ในการเริ่มต้นด้วยพื้นฐานทุกอย่างขึ้นอยู่กับ US-ASCII ซึ่งเป็นรหัส 7 บิตที่มีรหัส 128 คะแนนในชุดเลขฐานสิบหก 00 ถึง 7F หรือทศนิยม 0-127 สิ่งนี้ถูกแมปกับรหัสควบคุมตัวอักษรและตัวเลขภาษาอังกฤษและเครื่องหมายวรรคตอนพื้นฐาน

การเพิ่ม 1 บิตสำหรับรหัส 8 บิต (ไบต์) จะให้คะแนนรหัส 128 อีกหรือ Extended ASCII

จำเป็นต้องมีการตั้งค่าชุดตัวอักษร / หน้ารหัสล่วงหน้าเพื่อเปลี่ยนวิธีการที่รหัสใน 128 บิตด้านบนถูกแมปกับตัวอักษรเพื่อให้ครอบคลุมตัวอักษรสำหรับภาษาเฉพาะที่คุณต้องการแสดง วิธีนี้ใช้ได้ดีสำหรับภาษายุโรปตะวันตกส่วนใหญ่ ISO 8859-1 / Latin-1 เป็นตัวอย่างของชุดอักขระดังกล่าว อีกอย่างคือ Windows-1252 ซึ่งมีการเปลี่ยนแปลงจาก ISO 8859-1 เพื่อช่วยให้ครอบคลุมตัวละครมากกว่าหรือแตกต่างกัน

ภาษาที่มีชุดอักขระที่ซับซ้อนเช่นจีนญี่ปุ่นและเกาหลีเกินขีดความสามารถของชุดรหัสจุด 256 และใช้รหัสไบต์คู่เพื่อเปิดใช้การแทน

Unicode UTF-8 เป็นรูปแบบการเข้ารหัสอักขระหลายไบต์ (1-4 ไบต์) พร้อมความเข้ากันได้ย้อนหลังกับ ISO 8859-1 / Latin-1 ซึ่งเป็นอักขระ 128 ตัวแรก มีที่ว่างสำหรับจุดรหัสมากกว่า 1 ล้านจุดซึ่งหมายความว่าจุดรหัสแต่ละจุดสามารถแสดงอักขระได้จริงซึ่งแตกต่างจากการล้อเล่นรอบ ๆ ด้วย Extended ASCII ซึ่งหมายความว่าจุดรหัสจะจับคู่กับอักขระที่แตกต่างกันขึ้นอยู่กับชุดอักขระ / หน้ารหัส / การเข้ารหัส

แบบอักษรคือร่ายมนตร์ที่ถูกแมปไปยังจุดรหัสและแสดงอักขระ เนื้อหาของฟอนต์นั้นขึ้นอยู่กับภาษาดั้งเดิมที่จะครอบคลุม คุณสามารถใช้ ' ผังอักขระ'เพื่อดูร่ายมนตร์ที่มีอยู่ในแบบอักษร

แบบอักษร Unicode ไม่จำเป็นต้องครอบคลุมจุดรหัสทั้งหมดคุณต้องดูว่าพวกเขาตั้งใจจะใช้ที่ใด ตัวอย่างเช่นใน Windows 7 ให้เปิดผังชุดอักขระและดูอักขระใน Calibri จากนั้นเปรียบเทียบกับ Ebrima, Meiryo และ Raavi โปรดทราบว่าพวกเขามีความแตกต่างกันอย่างมากมายเพราะแต่ละคนได้รับการปรับแต่งให้เหมาะกับภูมิภาคทางภูมิศาสตร์ที่แตกต่างกัน

สำหรับฟอนต์ Unicode และชุดอักขระ Windows-1252 Windows ใช้ตารางการแมปเพื่อแปล Windows-1252 เป็น Unicode ซึ่งไม่ตรงกับ ISO 8859-1 สำหรับสถานการณ์ "Best Fit" ซึ่งมีอักขระบางตัวในอักขระ Windows-1252 ชุดอาจไม่แสดง


5

ชุดตัวอักษร

ชุดอักขระคือชุดของอักขระที่แต่ละหมายเลขจะถูกกำหนด

ชุดอักขระที่รู้จักกันดีคือ ASCII นี่คือชุดของอักขระ 128 ตัวที่มีหมายเลขตั้งแต่ 0 ถึง 127 ตัวเลขเหล่านี้ทั้งหมดสามารถแสดงใน 7 บิต (ดังนั้นจึงเป็นชุดอักขระ 7 บิต)

ชุดอักขระส่วนใหญ่ แต่ไม่ใช่ทั้งหมดรวมชุด ASCII ที่มีหมายเลขเดียวกัน ตัวอย่างของชุดอักขระที่ไม่เหมือน ASCII ได้แก่ EBCDIC นอกจากนี้ยังมีตัวแปรยุโรปใน ASCII ที่มีอักขระต่างกันในบางตำแหน่ง (เช่นรวม£)

การเข้ารหัส

ชุดอักขระขนาดใหญ่เช่น Unicode ที่มีมากกว่าหนึ่งล้านตัวอักษรจะต้องใช้สามหรือสี่ไบต์ต่อตัวอักษรเพื่อรองรับช่วงของตัวเลขขนาดใหญ่ที่กำหนดให้กับอักขระ แต่พวกเขาใช้ระบบที่อนุญาตให้หมายเลขนั้น "เข้ารหัส" เป็นหนึ่ง, สอง, สามหรือมากกว่าไบต์ ด้วยรูปแบบการเข้ารหัส UTF-8 อักขระที่เหมือนกันกับอักขระ ASCII จะถูกเข้ารหัสด้วยไบต์เดียวที่มีค่าไบต์เดียวกับใน ASCII

การเข้ารหัสข้างต้นจะใช้เมื่อเก็บข้อความในไฟล์

รูปแบบอักษร

แบบอักษรเป็นการออกแบบเฉพาะของการแสดงภาพ (เช่นรูปร่าง) สำหรับชุดอักขระ รูปร่างเรียกว่าร่ายมนตร์ แบบอักษรอาจมีร่ายมนตร์หลายตัวสำหรับหนึ่งตัวอักษร (พิจารณาว่า "a") มันอาจมีร่ายมนตร์สำหรับคู่ของอักขระที่เรียกว่าหนังสติ๊ก (เช่น "ff" หรือ "fi") ในแบบอักษรชุดของอักขระที่ glyph ได้รับการออกแบบดังนั้นมักจะแตกต่างจากชุดอักขระในชุดอักขระที่รู้จักกันดี (typefaces โดยปกติจะไม่รวม glyphs สำหรับอักขระควบคุม ASCII)

แบบอักษร

ในบริบทของคอมพิวเตอร์ฟอนต์หมายถึงไฟล์ที่มี glyphs เรียงตามรูปแบบการกำหนดหมายเลข (ซึ่งมักจะไม่เหมือนกับหมายเลขในชุดอักขระที่รู้จักกันดี) ในอดีตมีแบบอักษรบิตแมปซึ่งเป็นตัวแทนของขนาดที่เฉพาะเจาะจง (เป็นพิกเซลหรือจุด) ของแบบอักษร แบบอักษรส่วนใหญ่ในปัจจุบันใช้เส้นโค้งทางคณิตศาสตร์เพื่ออธิบายร่ายมนตร์และสามารถปรับขนาดเพื่อแสดงขนาดแบบอักษรได้

วางมันทั้งหมดเข้าด้วยกัน

เมื่อคุณแสดงไฟล์ข้อความคอมพิวเตอร์จะต้องมีการบอก (หรือเดา) การเข้ารหัสที่ใช้ในไฟล์ จากนั้นจะใช้การกำหนดหมายเลขอื่น (เช่นตัวแปร 16 บิตของ Unicode) เพื่อแสดงข้อความในหน่วยความจำจากนั้นจะใช้ข้อมูลในไฟล์ฟอนต์เพื่อแมปการแทนค่าภายในกับการกำหนดหมายเลข (การเข้ารหัส) ที่ใช้ในไฟล์ฟอนต์


3

แบบอักษรต้องรองรับการเข้ารหัสอักขระทุกตัวหรือไม่

ไม่ฉันไม่รู้ว่ามีผู้ใดทำเช่นนั้นจริงๆ
นั่นหมายความว่าพวกเขาจะมีตัวละครที่จินตนาการได้ทั้งหมด "ในตัวพวกเขา" แบบอักษรทั่วไปที่เราใช้เพื่อสนับสนุนการเข้ารหัสวัฒนธรรมตะวันตก (ละติน)

หรือการเข้ารหัสอักขระต้องรองรับทุกฟอนต์หรือไม่

การเข้ารหัสอักขระไม่ได้ "สนับสนุน" อะไรเลยดังนั้นนี่เป็นวิธีที่ผิดในการดู

แบบอักษร Unicode หมายถึงอะไร เป็นฟอนต์ที่รองรับเฉพาะ Unicode และไม่รองรับพูด windows-1252 หรือไม่

Unicodeเป็นมาตรฐาน (หรืออย่างน้อยก็พยายามเป็นหนึ่ง) ซึ่งมีการรองรับอักขระจำนวนมากดังนั้นจึงมีการเข้ารหัสชุดย่อยของตัวเองเป็นจำนวนมาก Windows 1252 หรือ CP1252 เป็นการเข้ารหัสที่มีตัวอักษรละตินรวมทั้งตัวอักษรยุโรปกลางบางตัว ส่วนใหญ่เหล่านั้น "ครอบคลุม" โดยยูนิโค้ดเช่นกัน แบบอักษรยูนิโค้ดเกือบทั้งหมดครอบคลุมเช่นกัน CP1252


1
Unicode อย่างไม่น่าสงสัยคือมาตรฐาน ISO 10646 ที่กำหนดหมายเลขแล้ว
MSalters
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.