วันนี้ฉันรู้สึกประหลาดใจที่เห็นว่าผู้ชายคนหนึ่งได้แฮ็คขีด จำกัด 140 ตัวอักษรของ Twitter ข้อความประกอบด้วย 930 ตัวอักษร สิ่งนี้จะเป็นไปได้อย่างไร
การเชื่อมโยงโดยตรงไปยังทวีตนี้อยู่ที่นี่ เพื่อความสะดวกฉันกำลังคัดลอกภาพหน้าจอของทวีตเต็มด้านล่าง:
วันนี้ฉันรู้สึกประหลาดใจที่เห็นว่าผู้ชายคนหนึ่งได้แฮ็คขีด จำกัด 140 ตัวอักษรของ Twitter ข้อความประกอบด้วย 930 ตัวอักษร สิ่งนี้จะเป็นไปได้อย่างไร
การเชื่อมโยงโดยตรงไปยังทวีตนี้อยู่ที่นี่ เพื่อความสะดวกฉันกำลังคัดลอกภาพหน้าจอของทวีตเต็มด้านล่าง:
คำตอบ:
ข้อความประกอบด้วยจุดโค้ดตัวแทนตัวแทน Unicode ที่เข้ารหัสอย่างไม่เหมาะสมเป็น UTF-8 ชนิดของการเข้ารหัสที่ไม่เหมาะสมนี้จะเรียกว่าCēsu-8 ดูเหมือนว่าอินเทอร์เฟซ Twitter บางอย่างจะยอมรับคะแนนรหัสตัวแทนตัวแทน CESU-8 เป็นอักขระ (สำหรับจุดประสงค์ของการจำกัดความยาว 140 อักขระ) แต่สำหรับวัตถุประสงค์ในการแสดงผลคาดว่า UTF-8 ที่ถูกต้องและสิ่งเหล่านี้ไม่ใช่ลำดับ UTF-8 ที่ถูกต้อง ดังนั้นมันจึงแสดง 3 ไบต์ของแต่ละลำดับเหล่านี้เป็น 3 ซีเควนซ์สไตล์แปดทางหนีของ 4 ตัวอักษรแต่ละตัวและแต่ละจุดรหัสตัวแทนจะปรากฏขึ้นโดยใช้อักขระ 12 ตัว
ตัวอย่างเช่น \ 355 \ 240 \ 265 \ 355 \ 263 \ 220 เมื่อถอดรหัสเป็น C-หนี UTF-8 โดยไม่ปฏิเสธตัวแทนตามปกติจะทำเมื่อถอดรหัส UTF-8 ถอดรหัสเป็นคู่ตัวแทน U + D835 U + DCD0 การรักษาคู่ตัวแทนเสมือนนี้เป็น UTF-16 ซึ่งจะทำเมื่อถอดรหัส CESU-8 จะสร้างอักขระ Unicode U + 1D4D0 MATHEMATICAL BOLD SCRIPT CAPITAL A (𝓐)
หากการถอดรหัสฐานแปดแบบ C ถูกถอดรหัสแล้วผลลัพธ์จะถูกตีความว่าเป็น CESU-8 มันจะออกมาที่:
в𝓐𝓛𝓜𝓐𝓣𝓨𝓐𝓛𝓜𝓐𝓣𝓨Твиттиминеограничиваемсялюдиии !!!!!! 140 непредел! =)))) 𝓐𝓛𝓜𝓐𝓣𝓨𝓐𝓛𝓜𝓐𝓣𝓨𝓐𝓛𝓜𝓐𝓣𝓨
นี่เป็นภาพสำหรับผู้ที่ไม่มีชุดฟอนต์ Unicode ครบชุด:
กลุ่มของอักขระแต่ละตัวที่ขึ้นต้นด้วยแบ็กสแลชและตามด้วยตัวเลขสามตัวคือ " Escape Sequence " แต่ละตัวแทนอักขระเดียว โดยปกติจะใช้สำหรับอักขระที่ไม่มีอยู่บนแป้นพิมพ์ของคุณเช่นอักขระและสัญลักษณ์ที่ไม่ใช่ภาษาอังกฤษ
ฉันเดาว่าเมื่อนับจำนวนตัวอักษร Twitter จะนับกลุ่มแต่ละกลุ่มเป็นอักขระเดียว แต่เมื่อแสดงให้เบราว์เซอร์แสดงว่าพวกเขากำลังพิมพ์สี่กลุ่ม
ปรับปรุง:
ลำดับ escape บางส่วนที่มีอยู่คือ "อักขระควบคุม" สิ่งเหล่านี้บอกให้คอมพิวเตอร์ทำอะไรบางอย่างเช่นเล่นเสียงเตือนหรือเลื่อนเคอร์เซอร์ไปทางซ้ายหรือขวาหรือขึ้นหรือลงหรือลบอักขระทางด้านซ้ายของเคอร์เซอร์ แม้ว่าจะไม่มีพวกเขาคนสุดท้ายที่ฉันพูดถึง (การลบอักขระก่อนหน้า) แต่เขาอาจใช้อักขระนั้นเพื่อทำให้สับสน Twitter เช่นกัน
ที่น่าสนใจเมื่อเปลี่ยนกลับมาเป็นตัวละครธรรมดามันค่อนข้างซ้ำซากและมีลักษณะดังนี้:
í µ í ³ í µ í ³ › í µ í ³ œ í µ í ³ í µ í ³ £ í µ í ³ ¨ í µ í ³ í µ í ³ › í µ í ³ œ í µ í ³ í µ í ³ £ í µ í ³ ¨
อัปเดต 2:
คำอธิบายที่เขาให้ไว้คือ "Пишитев DM, всегданасвязи)" ซึ่ง Google Translate บอกฉันว่า "เขียนถึง DM เสมอในการเชื่อมต่อ)" ฉันไม่แน่ใจว่ามันหมายถึงอะไรหรือมีประโยชน์อย่างไร