मुख्य सामग्री पर जाएं
X पर पोस्ट्स में अधिकतम 280 वर्ण हो सकते हैं। हालांकि, सभी वर्ण समान रूप से नहीं गिने जाते—इमोजी, URL और कुछ Unicode श्रेणियों के लिए विशेष गिनती नियम हैं।

वर्ण भार

X भारित वर्ण-गणना प्रणाली का उपयोग करता है। अधिकांश वर्ण 1 गिने जाते हैं, लेकिन कुछ 2 गिने जाते हैं:
वर्ण प्रकारभारअधिकतम वर्ण
Latin, विराम चिह्न, सामान्य प्रतीक1280
इमोजी2140 इमोजी
CJK (Chinese, Japanese, Korean)2140 वर्ण
अन्य Unicode2 (डिफ़ॉल्ट)अलग-अलग होता है
अपने ऐप में वर्णों की सटीक गिनती के लिए ओपन-सोर्स twitter-text लाइब्रेरी का उपयोग करें।

इमोजी की गिनती

जटिलता चाहे जो भी हो, सभी इमोजी 2 वर्ण माने जाते हैं:
EmojiDisplayCharacter countUnicode
👾एकल इमोजी2U+1F47E
🙋🏽त्वचा रंग के साथ2🙋 + 🏽 संशोधक
👨‍🎤ZWJ के साथ संयोजित2👨 + ZWJ + 🎤
👨‍👩‍👧‍👦परिवार अनुक्रम24 इमोजी + 3 ZWJs
शून्य-चौड़ाई संयोजक (ZWJ) इमोजी को दृश्य रूप से जोड़ते हैं, लेकिन गिनती में नहीं जुड़ते।

URL प्रबंधन

सभी URL को t.co shortener से लपेटा जाता है और मूल लंबाई चाहे कुछ भी हो, उन्हें 23 वर्णों के रूप में गिना जाता है:
https://example.com                    → 23 characters
https://example.com/very/long/path     → 23 characters
यह पोस्ट के टेक्स्ट में पहचाने गए किसी भी मान्य URL पर लागू होता है।

विशेष मामले

सामग्रीगिनती का नियम
जवाबों में @mentionsजवाब की शुरुआत में अपने-आप जोड़े गए @mentions की गिनती नहीं होती
नए @mentionsआपके द्वारा मैन्युअली जोड़े गए @mentions की गिनती सामान्य रूप से होती है
मीडियासंलग्न मीडिया (आधिकारिक क्लाइंट्स के माध्यम से) 0 अक्षरों के रूप में गिना जाता है
हैशटैगसामान्य रूप से गिने जाते हैं (# + टैग टेक्स्ट)

पाठ एन्कोडिंग

X API में UTF-8 एन्कोडिंग आवश्यक है। वर्णों की लंबाई की गणना Unicode Normalization Form C (NFC) के आधार पर की जाती है। café के साथ उदाहरण:
रूपबाइट्सवर्ण
NFC (संयोजित)c a f é4
NFD (विघटित)c a f e ́5
X, NFC में सामान्यीकृत करता है, इसलिए दोनों 4 वर्णों के रूप में एन्कोड होते हैं।

कार्यान्वयन

सटीक वर्ण-गणना के लिए आधिकारिक twitter-text लाइब्रेरी का उपयोग करें:
import { parseTweet } from 'twitter-text';

const result = parseTweet('Hello, world! 👋');
console.log(result.weightedLength); // 16
console.log(result.valid);          // true
यह लाइब्रेरी इमोजी क्रम, URL पहचान, और Unicode normalization सहित सभी edge cases को संभालती है।

संसाधन

twitter-text लाइब्रेरी

टेक्स्ट पार्सिंग के लिए आधिकारिक ओपन-सोर्स लाइब्रेरी।

कॉन्फ़िगरेशन फ़ाइल

कैरेक्टर वेट की परिभाषाएँ और Unicode रेंज।