คำถามติดแท็ก ascii

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

6
ควรใช้ Latin-1 มากกว่า UTF-8 เมื่อพูดถึงการกำหนดค่าฐานข้อมูลหรือไม่?
เรากำลังใช้งาน MySQL ที่ บริษัท ที่ฉันทำงานอยู่และเราสร้างทั้งแอปพลิเคชันสำหรับลูกค้าและภายในโดยใช้ Ruby on Rails เมื่อฉันเริ่มทำงานที่นี่ฉันพบปัญหาที่ฉันไม่เคยพบมาก่อน ฐานข้อมูลบนเซิร์ฟเวอร์ที่ใช้งานถูกตั้งค่าเป็น Latin-1 ซึ่งหมายความว่า MySQL มีข้อผิดพลาดเมื่อใดก็ตามที่มีการป้อนข้อมูลของผู้ใช้ที่ผู้ใช้คัดลอกและวางอักขระ UTF-8 เจ้านายของฉันเรียกว่า "ตัวละครที่ไม่ดี" เหล่านี้เนื่องจากส่วนใหญ่เป็นตัวละครที่ไม่สามารถพิมพ์ได้และบอกว่าเราต้องถอดมันออก ฉันได้พบวิธีในการทำเช่นนี้ แต่ในที่สุดเราก็ลงเอยด้วยสถานการณ์ที่จำเป็นต้องใช้อักขระ UTF-8 นอกจากนี้ยังเป็นเรื่องยุ่งยากโดยเฉพาะอย่างยิ่งเนื่องจากดูเหมือนว่าทางออกเดียวที่ฉันเคยอ่านเกี่ยวกับปัญหานี้คือการตั้งค่าฐานข้อมูลเป็น UTF-8 (เหมาะสมกับฉัน) อาร์กิวเมนต์เดียวที่ฉันได้ยินมาสำหรับการใช้ภาษาละติน -1 คือการอนุญาตให้ใช้ตัวอักษร UTF-8 ที่ไม่สามารถพิมพ์ได้สามารถทำให้การค้นหาข้อความ / ข้อความแบบเต็มใน MySQL นี่เป็นเรื่องจริงหรือ มีเหตุผลอื่นอีกหรือไม่ที่เราควรใช้ Latin-1 แทน UTF-8 ฉันเข้าใจว่ามันยอดเยี่ยมและแพร่หลายมากขึ้น

1
เหตุใดอักขระเครื่องหมายวรรคตอนในตาราง ASCII ทั่วทุกที่
ในตาราง ASCII อักขระเครื่องหมายวรรคตอนจะปรากฏขึ้นระหว่างอักขระที่ไม่ได้พิมพ์และก่อนหน้าตัวเลข ( !"#$%&')*+,-./) ระหว่างตัวเลขและตัวอักษรตัวพิมพ์ใหญ่ ( :;<=>?@) ระหว่างตัวอักษรตัวพิมพ์ใหญ่ ( [\]^_`) และตัวอักษรตัวพิมพ์เล็กและหลังตัวอักษรตัวเล็ก ( {|}~) เมื่อมองแวบแรกใครจะคาดหวังว่าสิ่งเหล่านี้จะรวมกลุ่มกัน อาจเป็นได้ทั้งก่อนหน้าตัวอักษรและตัวเลขทั้งหมดหรือด้านหลัง แต่นี่ไม่ใช่กรณี; พวกเขาสนใจในกลุ่มต่าง ๆ เหล่านี้ เหตุใดจึงเป็นเช่นนี้ มีเหตุผลทางประวัติศาสตร์บ้างหรือไม่ที่ทำให้ตัวละครถูกจัดกลุ่มด้วยวิธีนี้?
13 strings  ascii 

5
คุณบีบอัดสตริง ASCII เป็นไบต์ที่น้อยลงได้อย่างไร
ฉันทำงานกับอุปกรณ์ฝังตัวที่มีโปรโตคอลเฉพาะที่ส่งข้อความไปยังอุปกรณ์อื่นและฉันกำลังสร้างแอปพลิเคชันที่แยกวิเคราะห์แพ็คเก็ตที่ส่ง แต่ละแพ็คเก็ตมีขนาด 8 ไบต์ โพรโทคอลถูกกำหนดเป็นโดยที่ไบต์แรกเป็นส่วนหัวและ 7 ไบต์ที่เหลือคือข้อมูล พวกเขาพยายามที่จะส่งสตริง ID เฉพาะ แต่สตริง ID ยาว 8 อักขระ (ASCII) ดังนั้นมันจะไม่พอดีกับ 7 ไบต์ สิ่งที่เพื่อนร่วมงานของฉันบอกฉันคือพวกเขากำลังจะเปลี่ยน 8 ไบต์ ASCII ของสตริงเดิมเป็นจำนวนเต็ม (ทศนิยม) และส่งให้ฉัน 4 ไบต์ พวกเขาบอกฉันว่าฉันควรจะได้รับสายดั้งเดิมจาก 4 ไบต์ ฉันมีปัญหาเวลาปิดหัวของฉันรอบนี้ ดังนั้นถ้าคุณมีสตริง ID เช่น "IO123456" นั่นคือ 0x49 0x4f 0x31 0x32 0x33 0x34 0x35 0x35 0x36 ใน ASCII .. คุณจะบีบอัดมันใน …
12 strings  ascii  byte 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.