ตัวอย่างรหัสตัวอักษร เกี่ยวกับคลาสแรงดัน ANSI และ DIN รวมถึงฟังก์ชันการป้องกันลอจิก Asme นิ้วและมิลลิเมตร

อย่างไรก็ตาม บนเว็บไซต์ของเรา คุณสามารถแปลงข้อความใด ๆ ให้เป็นรหัสทศนิยม เลขฐานสิบหก และไบนารี่ได้โดยใช้เครื่องคำนวณโค้ดออนไลน์

ตาราง ASCII

ASCII (รหัส American Standard สำหรับการแลกเปลี่ยนข้อมูล)

ตารางสรุปรหัส ASCII

ตารางรหัสอักขระ ASCII Windows (Win-1251)

เครื่องหมาย

ผู้เชี่ยวชาญ. การทำตาราง

ผู้เชี่ยวชาญ. LF (ส่งคืนสินค้า)

ผู้เชี่ยวชาญ. CR (บรรทัดใหม่)

คลัทช์ เอสพี (อวกาศ)

เครื่องหมาย

ตารางรหัส ASCII แบบขยาย

การจัดรูปแบบสัญลักษณ์

Backspace (ส่งคืนอักขระหนึ่งตัว) บ่งชี้ว่ากลไกการพิมพ์หรือเคอร์เซอร์จอแสดงผลกำลังเลื่อนกลับไปหนึ่งตำแหน่ง

ตารางแนวนอน ระบุการเคลื่อนที่ของกลไกการพิมพ์หรือเคอร์เซอร์แสดงผลไปยัง "แท็บหยุด" ที่กำหนดไว้ถัดไป

ฟีดบรรทัด ระบุการเคลื่อนที่ของกลไกการพิมพ์หรือเคอร์เซอร์ที่แสดงไปยังจุดเริ่มต้นของบรรทัดถัดไป (ลงมาหนึ่งบรรทัด)

ตารางแนวตั้ง ระบุการเคลื่อนที่ของกลไกการพิมพ์หรือเคอร์เซอร์แสดงผลไปยังกลุ่มบรรทัดถัดไป

ฟีดรูปแบบ. ระบุการเคลื่อนที่ของกลไกการพิมพ์หรือเคอร์เซอร์แสดงผลไปยังตำแหน่งเริ่มต้นของหน้า แบบฟอร์ม หรือหน้าจอถัดไป

การคืนรถ. ระบุการเคลื่อนไหวของกลไกการพิมพ์หรือเคอร์เซอร์แสดงผลไปที่ตำแหน่งหลัก (ซ้ายสุด) ของบรรทัดปัจจุบัน

การถ่ายโอนข้อมูล.

จุดเริ่มต้นของหัวข้อ ใช้เพื่อกำหนดจุดเริ่มต้นของส่วนหัวซึ่งอาจมีข้อมูลเส้นทางหรือที่อยู่

จุดเริ่มต้นของข้อความ แสดงจุดเริ่มต้นของข้อความและในขณะเดียวกันก็แสดงส่วนท้ายของชื่อเรื่อง

สิ้นสุดข้อความ. ใช้เมื่อสิ้นสุดข้อความที่ขึ้นต้นด้วยอักขระ STX

สอบถามรายละเอียดเพิ่มเติม การขอข้อมูลระบุตัวตน (เช่น "คุณเป็นใคร") จากสถานีระยะไกล

รับทราบ. อุปกรณ์รับจะส่งอักขระนี้ไปยังผู้ส่งเพื่อยืนยันการรับข้อมูลสำเร็จ

การรับรู้เชิงลบ อุปกรณ์รับจะส่งอักขระนี้ไปยังผู้ส่งในกรณีที่การรับข้อมูลถูกปฏิเสธ (ล้มเหลว)

ซิงโครนัส/ไม่ได้ใช้งาน ใช้ในระบบส่งกำลังแบบซิงโครไนซ์ เมื่อไม่มีการส่งข้อมูล ระบบจะส่งสัญลักษณ์ SYN อย่างต่อเนื่องเพื่อให้แน่ใจว่ามีการซิงโครไนซ์

จุดสิ้นสุดของบล็อกการส่ง ระบุจุดสิ้นสุดของบล็อคข้อมูลเพื่อวัตถุประสงค์ในการสื่อสาร ใช้เพื่อแบ่งข้อมูลจำนวนมากออกเป็นบล็อกแยกกัน

การแบ่งเครื่องหมายเมื่อส่งข้อมูล

สัญลักษณ์อื่นๆ

โมฆะ. (ไม่มีตัวอักษร - ไม่มีข้อมูล) ใช้สำหรับการส่งข้อมูลเมื่อไม่มีข้อมูล

เบลล์ (โทร). ใช้เพื่อควบคุมอุปกรณ์เตือนภัย

เลื่อนออก บ่งชี้ว่าโค้ดเวิร์ดที่ตามมาทั้งหมดจะต้องถูกตีความตามอักขระภายนอกที่ตั้งค่าไว้ก่อนที่จะมาถึงอักขระ SI

เลื่อนเข้า บ่งชี้ว่าการรวมโค้ดที่ตามมาต้องถูกตีความตามชุดอักขระมาตรฐาน

ดาต้าลิงค์เอสเคป การเปลี่ยนความหมายของตัวอักษรต่อไปนี้ ใช้สำหรับการควบคุมเพิ่มเติมหรือสำหรับการส่งบิตรวมกันโดยพลการ

ดีซี1, ดีซี2, ดีซี3, ดีซี4

การควบคุมอุปกรณ์ สัญลักษณ์สำหรับการทำงานของอุปกรณ์เสริม (ฟังก์ชันพิเศษ)

ยกเลิก. บ่งชี้ว่าข้อมูลที่นำหน้าอักขระนี้ในข้อความหรือบล็อกควรถูกละเว้น (โดยปกติหากตรวจพบข้อผิดพลาด)

จุดสิ้นสุดของสื่อ ระบุส่วนปลายฟิสิคัลของเทปหรือสื่อบันทึกข้อมูลอื่น

ทดแทน. ใช้เพื่อแทนที่อักขระที่ผิดพลาดหรือไม่ถูกต้อง

หลบหนี (ส่วนขยาย) ใช้เพื่อขยายโค้ดโดยระบุว่าอักขระที่ตามมามีความหมายอื่น

ช่องว่าง. อักขระที่ไม่พิมพ์ใช้เพื่อแยกคำหรือย้ายกลไกการพิมพ์หรือเคอร์เซอร์แสดงไปข้างหน้าหนึ่งตำแหน่ง

ลบ. ใช้เพื่อลบ (ลบ) อักขระก่อนหน้าในข้อความ

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

ถึง ผ่อนปรนงานนี้สำหรับคุณเราขอเสนอตารางความสัมพันธ์ระหว่างค่าความดันและความยาวในระบบยุโรปและอเมริกาที่มีขนาดเล็ก คำอธิบาย- แต่ก่อนอื่น คำสองสามคำเกี่ยวกับมาตรฐานนั้นเอง


ดิน- นี่คือมาตรฐานเยอรมัน (ย่อมาจาก สถาบัน Deutsches für Normungนั่นคือพัฒนาโดยสถาบันมาตรฐานเยอรมัน) ซึ่งได้รับการพัฒนาอย่างเคร่งครัดภายใต้กรอบของบทบัญญัติขององค์การระหว่างประเทศเพื่อการมาตรฐาน - ISO (องค์การระหว่างประเทศเพื่อการมาตรฐาน)


แอนซี่- มาตรฐานที่นำมาใช้ในประเทศสหรัฐอเมริกา หมายถึง สถาบันมาตรฐานแห่งชาติอเมริกันนั่นคือมาตรฐานของสถาบันมาตรฐานแห่งชาติอเมริกัน

ดังนั้นมาตรฐาน ANSI จึงถูกกำหนดโดยสถาบันนี้และไกลออกไป ไม่เสมอระหว่างมาตรฐาน ดินและ แอนซี่คุณสามารถติดตามได้อย่างแน่นอน การปฏิบัติตามในด้านต่างๆ

การแปลงหน่วยแรงดันจาก ANSI เป็น DIN

ทุกอย่างเป็นเรื่องง่ายที่นี่: ถ้าเป็นไปตามมาตรฐาน แอนซี่ตรงข้ามกับความดันคือหมายเลข 150 - ซึ่งหมายความว่าแรงดันเล็กน้อย (ซึ่งออกแบบวาล์วไว้) คือ 20 บาร์ 300 - 50 บาร์ ฯลฯ ค่าสูงสุดสำหรับ คลาส ANSI– 2500 จะเท่ากับ 420 บาร์ ตามมาตรฐานยุโรป ดิน.


โดยใช้ตารางนี้ ไม่ยากแปลงค่าความดันและย้อนกลับ: จาก ดินวี แอนซี่แม้ว่าวิศวกรของเราจะใช้เวลาดำเนินการแปลมากกว่านี้มากก็ตาม ไม่บ่อยนัก.

การแปลงหน่วยความยาวจากระบบอเมริกันเป็นระบบยุโรป (รัสเซีย)

ตามที่ทราบกันดีว่า คนอเมริกันทุกอย่างวัดเป็นนิ้วและฟุตและเรา ชาวยุโรป- มิลลิเมตร เซนติเมตร และเมตร ซึ่งก็เหมือนกับประเทศส่วนใหญ่ในโลกที่เราอาศัยอยู่ เมตริกระบบหน่วย


วิธีการแปลงนิ้วเป็นมิลลิเมตร? ที่จริงแล้วก็ไม่มีอะไรซับซ้อนเกี่ยวกับเรื่องนี้เช่นกัน เพียงจำไว้ว่า 1 นิ้วเท่ากับ 25.4 มม. แต่มักเป็นตัวเลขหลังจุดทศนิยม ละเลยและเพื่อการวัดผลที่ดี พวกเขาชี้ให้เห็นว่า 1 นิ้ว = 25 มม.

ดังนั้น ตัวอย่างเช่น หากหน้าตัดของรูทางเข้าเท่ากับ 2 นิ้วตามระบบการวัดของอเมริกา ดังนั้นเมื่อใช้กฎข้างต้น แปลงค่านี้ให้เป็นระบบการวัดของเรา เราจะได้ 50 มม. หรือ แม่นยำยิ่งขึ้น 51 มม. (ปัดเศษ 50.8 ตามกฎ)

ยังคงต้องเพิ่มเส้นผ่านศูนย์กลางอยู่ เทคนิคลักษณะถูกทำเครื่องหมายด้วยตัวอักษรละติน ดีเอ็นและมักจะระบุไว้อย่างชัดเจนใน นิ้วและแรงกดจะแสดงโดยใช้ตัวอักษร พี.เอ็นและมักระบุไว้ใน บาร์- ไม่ว่าในกรณีใด เราจะใช้เครื่องหมายนี้มากที่สุด สะดวกสบาย.

และโต๊ะถัดไป จะช่วยคุณต้องคำนวณไม่เพียงเท่านั้น ที่แน่นอนจำนวนมิลลิเมตรในหนึ่งนิ้ว (แม่นยำถึงหนึ่งในพันของมิลลิเมตร) แต่ยังช่วยให้คุณทราบว่ามีกี่มิลลิเมตรอยู่ในนั้น เช่น 2.5 นิ้ว

ในการทำเช่นนี้ เราจะหาคอลัมน์ 2"" (2 นิ้ว) และทางด้านซ้ายเราจะมองหาค่า 1/2 รวม 2.5 นิ้ว = 63.501 มม. ซึ่งสามารถปัดเศษได้สูงสุด 64 มม. และตัวอย่าง 6.25 นิ้ว (ซึ่งก็คือ 6 และ 1/4) = 158.753 มม. หรือ 159 มม.


นิ้ว "" ในหน่วยมิลลิเมตร



เป็นที่น่าสังเกตว่าการกำหนดระดับความดัน ANSI ทั้งหมดมีความหมายบางอย่าง กล่าวคือ ค่าความดัน แต่จะอยู่ในหน่วยอื่นนอกเหนือจากที่เราคุ้นเคยเท่านั้น ตัวเลขทั้งหมดหลังจาก ANSI ระบุค่าของแรงดันแบบมีเงื่อนไข (ที่กำหนด): ANSI 150, ANSI 300, ANSI 600, ANSI 900, ANSI 1500, ANSI 2500 และ ANSI 4500 ตัวอย่างเช่น ANSI 150 หมายความว่าแรงดันระบุคือ 150 ปอนด์ต่อ ตารางนิ้ว ในภาษาอังกฤษจะเขียนเป็นแรงปอนด์ต่อตารางนิ้ว หรือเรียกย่อว่า PSI

ดังนั้น ด้วยวิธีนี้ คุณสามารถแปลงค่าจากปอนด์ต่อตารางนิ้วเป็นบาร์ (100 kPa) หรือ MPa ของคุณเองได้ หากต้องการคำนวณค่าที่แน่นอนโดยอิสระ คุณจะต้องรู้ว่า 1 PSI = 6894.76 Pa การคำนวณแถบ ANSI และความดัน Pascal ทั้งหมดสามารถทำได้เมื่อมีเวลาและต้องการข้อมูลที่แม่นยำ ในขณะที่คลาสความดัน ANSI มาตรฐานส่วนใหญ่จะมีค่าแถบมาตรฐานและ MPa อยู่แล้ว เพื่อให้ง่ายขึ้น เราได้รวบรวมตารางสั้นๆ สำหรับการใช้งานของคุณ:

ตารางคลาสแรงดัน ANSI พร้อมการแปลงเป็น Bar และ MPa

ระดับความดัน ANSI

Reg.ru: โดเมนและโฮสติ้ง

นายทะเบียนและผู้ให้บริการโฮสติ้งที่ใหญ่ที่สุดในรัสเซีย

มีชื่อโดเมนมากกว่า 2 ล้านชื่อที่ให้บริการ

โปรโมชั่น เมลโดเมน โซลูชั่นทางธุรกิจ

ลูกค้ามากกว่า 700,000 รายทั่วโลกได้ตัดสินใจเลือกแล้ว

*เลื่อนเมาส์ไปเหนือเพื่อหยุดการเลื่อนชั่วคราว

กลับไปข้างหน้า

การเข้ารหัส: ข้อมูลที่เป็นประโยชน์และข้อมูลย้อนหลังโดยย่อ

ฉันตัดสินใจเขียนบทความนี้เป็นการทบทวนสั้น ๆ เกี่ยวกับปัญหาการเข้ารหัส

เราจะพิจารณาว่าโดยทั่วไปแล้วการเข้ารหัสคืออะไรและสัมผัสประวัติความเป็นมาของลักษณะที่ปรากฏโดยหลักการเล็กน้อย

เราจะพูดถึงคุณสมบัติบางอย่างของพวกเขาและพิจารณาประเด็นที่ช่วยให้เราสามารถทำงานกับการเข้ารหัสได้อย่างมีสติมากขึ้นและหลีกเลี่ยงการปรากฏตัวของสิ่งที่เรียกว่า คราโคซยาโบรฟ, เช่น. อักขระที่ไม่สามารถอ่านได้

งั้นไปกัน...

การเข้ารหัสคืออะไร?

พูดง่ายๆ ก็คือ การเข้ารหัส- นี่คือตารางการแมปอักขระที่เราเห็นบนหน้าจอกับรหัสตัวเลขบางตัว

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

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

สามารถพิจารณาต้นกำเนิดของการเข้ารหัสสมัยใหม่ทั้งหมดได้ แอสกี.

อักษรย่อนี้ย่อมาจาก รหัสมาตรฐานอเมริกันสำหรับการแลกเปลี่ยนข้อมูล(ชุดอักขระมาตรฐานอเมริกันสำหรับอักขระที่พิมพ์ได้และรหัสพิเศษบางส่วน)

นี้ การเข้ารหัสแบบไบต์เดียวซึ่งในตอนแรกมีเพียง 128 ตัวอักษร ได้แก่ ตัวอักษรละติน เลขอารบิค เป็นต้น


ต่อมามีการขยาย (ตอนแรกไม่ได้ใช้ทั้งหมด 8 บิต) ดังนั้นจึงเป็นไปได้ที่จะใช้อักขระที่แตกต่างกันไม่ใช่ 128 แต่เป็น 256 (2 ถึงกำลัง 8) ที่สามารถเข้ารหัสได้ในข้อมูลหนึ่งไบต์

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

มีตัวเลือกมากมายสำหรับการเข้ารหัส ASCII แบบขยายเนื่องจากมีหลายภาษาในโลก ฉันคิดว่าหลายท่านคงเคยได้ยินเกี่ยวกับการเข้ารหัสเช่น KOI8-R ยังเป็นการเข้ารหัส ASCII แบบขยายอีกด้วยออกแบบมาเพื่อทำงานกับตัวอักษรภาษารัสเซีย

ขั้นตอนต่อไปในการพัฒนาการเข้ารหัสถือได้ว่าเป็นการเกิดขึ้นของสิ่งที่เรียกว่า การเข้ารหัส ANSI.

โดยพื้นฐานแล้วพวกเขาก็เหมือนกัน ASCII เวอร์ชันขยายอย่างไรก็ตาม องค์ประกอบกราฟิกหลอกต่างๆ ได้ถูกลบออกจากองค์ประกอบเหล่านั้น และมีการเพิ่มสัญลักษณ์ตัวพิมพ์ซึ่งก่อนหน้านี้มี "พื้นที่ว่าง" ไม่เพียงพอ

ตัวอย่างของการเข้ารหัส ANSI ดังกล่าวเป็นที่รู้จักกันดี วินโดวส์-1251- นอกจากสัญลักษณ์การพิมพ์แล้ว การเข้ารหัสนี้ยังรวมตัวอักษรจากตัวอักษรของภาษาที่ใกล้เคียงกับรัสเซีย (ยูเครน เบลารุส เซอร์เบีย มาซิโดเนีย และบัลแกเรีย)


การเข้ารหัส ANSI เป็นชื่อรวม- ในความเป็นจริงการเข้ารหัสจริงเมื่อใช้ ANSI จะถูกกำหนดโดยสิ่งที่ระบุไว้ในรีจิสทรีของระบบปฏิบัติการ Windows ของคุณ ในกรณีของรัสเซียนี่จะเป็น Windows-1251 อย่างไรก็ตามสำหรับภาษาอื่น ๆ มันจะเป็น ANSI รสชาติที่แตกต่างออกไป

ดังที่คุณเข้าใจการเข้ารหัสจำนวนมากและการขาดมาตรฐานที่เป็นเอกภาพไม่ได้นำไปสู่ผลดีใด ๆ ซึ่งเป็นสาเหตุของการประชุมบ่อยครั้งกับสิ่งที่เรียกว่า คราโคเซบราส- ชุดอักขระที่อ่านไม่ออกและไร้ความหมาย

เหตุผลในการปรากฏตัวนั้นง่าย - มันคือ พยายามแสดงอักขระที่เข้ารหัสด้วยชุดอักขระหนึ่งชุดโดยใช้ชุดอักขระอื่น.

ในบริบทของการพัฒนาเว็บ เราอาจพบข้อบกพร่องเมื่อ ตัวอย่างเช่น ข้อความภาษารัสเซียถูกบันทึกอย่างผิดพลาดด้วยการเข้ารหัสที่แตกต่างจากที่ใช้บนเซิร์ฟเวอร์.

แน่นอนว่านี่ไม่ใช่กรณีเดียวที่เราสามารถรับข้อความที่อ่านไม่ได้ - มีตัวเลือกมากมายที่นี่ โดยเฉพาะอย่างยิ่งหากเราพิจารณาว่ายังมีฐานข้อมูลที่ข้อมูลถูกเก็บไว้ในการเข้ารหัสบางอย่างด้วย มีการแมปการเชื่อมต่อ ไปยังฐานข้อมูล ฯลฯ

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

จำเป็นต้องสร้าง การเข้ารหัสสากลที่จะแก้ปัญหาแครกเกอร์ทันทีและตลอดไป.

Unicode - การเข้ารหัสข้อความสากล (UTF-32, UTF-16 และ UTF-8)

มาตรฐานนี้ถูกเสนอในปี 1991 โดยองค์กรที่ไม่แสวงหาผลกำไร "สมาคมยูนิโค้ด"(Unicode Consortium, Unicode Inc.) และผลงานชิ้นแรกของเขาคือการสร้างการเข้ารหัส UTF-32.

โดยวิธีการย่อนั้นเอง UTFหมายถึง รูปแบบการแปลง Unicode(รูปแบบการแปลงยูนิโค้ด)

ในการเข้ารหัสนี้ เพื่อเข้ารหัสอักขระหนึ่งตัว ควรใช้ให้มากที่สุดเท่าที่จะเป็นไปได้ 32 บิต, เช่น. ข้อมูล 4 ไบต์ หากเราเปรียบเทียบตัวเลขนี้กับการเข้ารหัสแบบไบต์เดียวเราจะได้ข้อสรุปง่ายๆ: คุณต้องใช้การเข้ารหัสอักขระ 1 ตัวในการเข้ารหัสสากลนี้ บิตมากขึ้น 4 เท่าซึ่งทำให้ไฟล์หนักขึ้น 4 เท่า

เห็นได้ชัดว่าจำนวนอักขระที่สามารถอธิบายได้โดยใช้การเข้ารหัสนี้เกินขีดจำกัดที่สมเหตุสมผลทั้งหมด และในทางเทคนิคแล้วจำกัดไว้ที่ตัวเลขเท่ากับ 2 ยกกำลัง 32 เป็นที่แน่ชัดว่านี่เป็นเรื่องที่ต้องใช้ความพยายามมากเกินไปและสิ้นเปลืองในแง่ของน้ำหนักของไฟล์ ดังนั้นการเข้ารหัสนี้จึงไม่แพร่หลาย

ถูกแทนที่ด้วยการพัฒนาใหม่ - UTF-16.

ดังที่เห็นได้จากชื่อ ในการเข้ารหัสนี้จะมีการเข้ารหัสอักขระหนึ่งตัว ไม่ใช่ 32 บิตอีกต่อไป แต่เพียง 16(เช่น 2 ไบต์) แน่นอนว่าสิ่งนี้ทำให้อักขระใดๆ ก็ตามมีความ "เบา" สองเท่าใน UTF-32 แต่ยัง "หนักกว่า" สองเท่ากว่าอักขระใดๆ ที่เข้ารหัสโดยใช้การเข้ารหัสไบต์เดียว

จำนวนอักขระที่สามารถเข้ารหัสใน UTF-16 ต้องมีอย่างน้อย 2 ยกกำลัง 16 เช่น 65536 ตัวอักษร ดูเหมือนทุกอย่างจะเรียบร้อยดี และนอกจากนี้ พื้นที่โค้ดสุดท้ายใน UTF-16 ยังได้รับการขยายเป็นมากกว่า 1 ล้านอักขระอีกด้วย

อย่างไรก็ตาม การเข้ารหัสนี้ไม่สามารถตอบสนองความต้องการของนักพัฒนาได้อย่างเต็มที่ ตัวอย่างเช่น หากคุณเขียนโดยใช้อักขระละตินโดยเฉพาะ หลังจากเปลี่ยนจากการเข้ารหัส ASCII เวอร์ชันขยายเป็น UTF-16 น้ำหนักของแต่ละไฟล์จะเพิ่มเป็นสองเท่า

ผลที่ตามมา, มีความพยายามอีกครั้งเพื่อสร้างสิ่งที่เป็นสากลและสิ่งนี้ก็กลายเป็นการเข้ารหัส UTF-8 ที่รู้จักกันดี

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

ความจริงก็คือ UTF-8 ให้ความเข้ากันได้ดีที่สุดกับระบบรุ่นเก่าที่ใช้อักขระ 8 บิต ในการเข้ารหัสอักขระหนึ่งตัวใน UTF-8 นั้นถูกนำมาใช้จริง ตั้งแต่ 1 ถึง 4 ไบต์(ตามสมมุติฐาน เป็นไปได้สูงสุด 6 ไบต์)

ใน UTF-8 อักขระละตินทั้งหมดจะถูกเข้ารหัสเป็น 8 บิต เช่นเดียวกับใน ASCII- กล่าวอีกนัยหนึ่งส่วนพื้นฐานของการเข้ารหัส ASCII (128 อักขระ) ได้ย้ายไปที่ UTF-8 ซึ่งช่วยให้คุณ "ใช้จ่าย" เพียง 1 ไบต์ในการเป็นตัวแทนในขณะที่ยังคงความเป็นสากลของการเข้ารหัสไว้เพื่อประโยชน์ของทุกสิ่ง เริ่มต้นแล้ว

ดังนั้น หากอักขระ 128 ตัวแรกเข้ารหัสด้วย 1 ไบต์ อักขระอื่นๆ ทั้งหมดจะถูกเข้ารหัสด้วย 2 ไบต์ขึ้นไป โดยเฉพาะอย่างยิ่ง อักขระซีริลลิกแต่ละตัวจะถูกเข้ารหัสด้วยขนาด 2 ไบต์พอดี

ดังนั้นเราจึงได้รับการเข้ารหัสแบบสากลที่ช่วยให้เราสามารถครอบคลุมอักขระที่เป็นไปได้ทั้งหมดที่จำเป็นต้องแสดง โดยไม่ทำให้ไฟล์หนักขึ้นโดยไม่จำเป็น

มี BOM หรือไม่มี BOM?

หากคุณเคยร่วมงานกับโปรแกรมแก้ไขข้อความ (โปรแกรมแก้ไขโค้ด) เช่น กระดาษจดบันทึก++, phpDesigner.php, PHP ที่รวดเร็วฯลฯ คุณอาจสังเกตเห็นว่าเมื่อระบุการเข้ารหัสที่จะสร้างเพจ โดยปกติคุณสามารถเลือกได้ 3 ตัวเลือก:

แอนซี่
- UTF-8
- UTF-8 ที่ไม่มี BOM


ฉันจะบอกทันทีว่าคุณควรเลือกตัวเลือกสุดท้ายเสมอ - UTF-8 ที่ไม่มี BOM.

BOM คืออะไร และเหตุใดเราจึงไม่ต้องการมัน

บอมหมายถึง เครื่องหมายคำสั่งไบต์- นี่คืออักขระ Unicode พิเศษที่ใช้เพื่อระบุลำดับไบต์ของไฟล์ข้อความ ตามข้อกำหนดการใช้งานไม่ได้บังคับ แต่ถ้า บอมถูกใช้จะต้องตั้งค่าไว้ที่จุดเริ่มต้นของไฟล์ข้อความ

เราจะไม่ลงรายละเอียดของงาน บอม- สำหรับเรา ข้อสรุปหลักคือ: การใช้อักขระบริการนี้ร่วมกับ UTF-8 จะป้องกันไม่ให้โปรแกรมอ่านการเข้ารหัสตามปกติส่งผลให้เกิดข้อผิดพลาดในสคริปต์

รหัส (ไบนารี)

(ทศนิยมไม่ได้ลงนาม)

(เครื่องหมายทศนิยม)

A (อักษรละตินตัวพิมพ์ใหญ่)

B (อักษรละตินตัวพิมพ์ใหญ่)

ก (ละตินเล็ก)

เอ (รัสเซียใหญ่)

เข้ารหัสแล้ว แอนซี่

เอ (รัสเซียใหญ่)

เข้ารหัสแล้ว แอสกี

รหัสที่คล้ายกันดังที่แสดงด้านบนยังจับคู่จำนวนเต็มตั้งแต่ 0 ถึง 255 ในรูปแบบที่ไม่ได้ลงนาม ดังนั้นอักขระแต่ละตัวจึงเชื่อมโยงกับจำนวนเต็มหรือที่เรียกว่าโค้ดอักขระ เรียกว่าชุดรหัสอักขระ ตารางรหัส หรือ การเข้ารหัส .

สำหรับคอมพิวเตอร์ส่วนบุคคล ตารางรหัสที่พบบ่อยที่สุดคือ ANSI (American National Standard Institute) และ ASCII (American Standard Code for Information Interchange) ตาราง ANSI ใช้ใน Windows และใช้ ASCII ใน DOS อย่างไรก็ตาม ในทั้งสองตารางนี้มีรหัส 128 รหัสแรก (ตั้งแต่ 0 ถึง 127) จับคู่

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

- "เครื่องหมาย".

ส่วนมาตรฐานของตารางอักขระ (ascii-ansi)