आज मुझे यह देखकर आश्चर्य हुआ कि एक आदमी ने ट्विटर की 140-चरित्र की सीमा को हैक कर लिया है। संदेश में 930 अक्षर हैं। यह कैसे संभव हो सकता है?
इस ट्वीट का सीधा लिंक यहां है । सुविधा के लिए, मैं नीचे पूर्ण ट्वीट के स्क्रीनशॉट की प्रतिलिपि बना रहा हूं:
आज मुझे यह देखकर आश्चर्य हुआ कि एक आदमी ने ट्विटर की 140-चरित्र की सीमा को हैक कर लिया है। संदेश में 930 अक्षर हैं। यह कैसे संभव हो सकता है?
इस ट्वीट का सीधा लिंक यहां है । सुविधा के लिए, मैं नीचे पूर्ण ट्वीट के स्क्रीनशॉट की प्रतिलिपि बना रहा हूं:
जवाबों:
संदेश में यूनिकोड सरोगेट कोड अंक शामिल हैं जो अनुचित रूप से UTF-8 के रूप में एन्कोड किए गए हैं। इस तरह के अनुचित एन्कोडिंग को CESU-8 भी कहा जाता है । ऐसा प्रतीत होता है कि कुछ ट्विटर इंटरफेस सीईएसयू -8 एनकोडेड सरोगेट कोड पॉइंट्स को कैरेक्टर (140 कैरेक्टर लिमिट के उद्देश्य से) के रूप में स्वीकार करेंगे, लेकिन डिस्प्ले के उद्देश्य से यह यूटीएफ -8 के वैध होने की उम्मीद करते हैं और ये यूटीएफ -8 के वैध नहीं हैं। इसके बजाय यह इन दृश्यों में से प्रत्येक के 3 बाइट्स को प्रदर्शित करता है क्योंकि 3 सी-स्टाइल ऑक्टल एस्केप 4 वर्णों में से प्रत्येक का अनुक्रम है, और प्रत्येक सरोगेट कोड बिंदु 12 वर्णों का उपयोग करके प्रदर्शित किया जा रहा है।
उदाहरण के लिए \ 355 \ 240 \ 265 \ 355 \ 263 \ 220 जब सी-बच गए UTF-8 के रूप में डीकोड किया गया, बिना सरोगेट्स को अस्वीकार किए बिना सामान्य रूप से किया जाएगा, जब यूटीएफ -8 को डिकोड करते समय, सरोगेट जोड़ी U + D835 U + DCD0 को डिकोड किया जाता है। इस सरोगेट जोड़ी को UTF-16 के रूप में मानते हुए, जैसा कि CESU-8 को डिकोड करते समय किया जाएगा, यूनिकोड वर्ण U + 1D4D0 MATHEMATICAL BOLD SCRIPT CAPITAL A (𝓐) का निर्माण करता है।
यदि C- शैली के अष्टकोणीय भाग को डिकोड किया जाता है और फिर परिणाम को CESU-8 के रूप में व्याख्या किया जाता है, तो यह सामने आता है:
Т 𝓐𝓛𝓜𝓐𝓣𝓨 Твиттим и не ограничиваемся «юдиии !!!!!! 140 не предел (!)))) 𝓐𝓛𝓜𝓐𝓣𝓨 де де
यहां यह एक छवि के रूप में है, उन लोगों के लिए जिनके पास यूनिकोड फोंट का पूरा सेट स्थापित नहीं है:
पात्रों का प्रत्येक समूह एक बैकस्लैश के साथ शुरू होता है और उसके बाद तीन नंबर " एस्केप सीक्वेंस " होता है। उनमें से प्रत्येक एक एकल चरित्र का प्रतिनिधित्व करता है। ये आमतौर पर उन अक्षरों के लिए उपयोग किए जाते हैं जो आपके कीबोर्ड पर मौजूद नहीं होते हैं जैसे कि गैर-अंग्रेजी-भाषा के अक्षर और प्रतीक।
मेरा अनुमान है कि पात्रों की गिनती करते समय, ट्विटर इनमें से प्रत्येक समूह को एक ही चरित्र के रूप में गिना रहा है, लेकिन जब उन्हें ब्राउज़र में प्रदर्शित किया जाता है तो यह उन्हें चार के रूप में मुद्रित कर रहा है।
अद्यतन करें:
भागने के कुछ सीक्वेंस उपलब्ध हैं "कंट्रोल कैरेक्टर"। ये कंप्यूटर को कुछ ऐसा करने के लिए कहते हैं जैसे अलर्ट साउंड बजाना या कर्सर को बाएँ या दाएँ या ऊपर या नीचे ले जाना या कर्सर के बाईं ओर के अक्षर को हटाना। हालाँकि उनमें से कोई भी नहीं है जिसका मैंने उल्लेख किया है (पिछले चरित्र को हटाते हुए), उसने शायद ट्विटर को भ्रमित करने के लिए उस चरित्र का उपयोग किया होगा।
दिलचस्प बात यह है कि जब यह सामान्य पात्रों में वापस आया, तो यह काफी दोहरावदार है और कुछ इस तरह दिखता है:
í µ í ³ í µ í ³ › í µ í ³ œ í µ í ³ í µ í ³ £ í µ í ³ ¨ í µ í ³ í µ í ³ › í µ í ³ œ í µ í ³ í µ í ³ £ í µ í ³ ¨
अपडेट 2:
उन्होंने जो स्पष्टीकरण दिया, वह था "Пишите в DM, всегда на связи)" जो Google Translate मुझे बताता है "डीएम को लिखें, हमेशा कनेक्शन पर)"। मुझे यकीन नहीं है कि इसका क्या मतलब है या यह कैसे मदद करता है।