सरोगेट पेयर

Encoding & Standards

दो UTF-16 कोड यूनिट (एक हाई सरोगेट U+D800-U+DBFF और उसके बाद एक लो सरोगेट U+DC00-U+DFFF) जो मिलकर U+FFFF से ऊपर के किसी वर्ण का प्रतिनिधित्व करते हैं।

Characters with code points above U+FFFF cannot fit in a single 16-bit value. UTF-16 solves this by encoding them as two 16-bit values called a surrogate pair. Since most emoji are above U+FFFF, surrogate pairs are extremely common with emoji.

For example, 😀 (U+1F600) becomes the surrogate pair 0xD83D 0xDE00 in UTF-16. The formula: high surrogate = 0xD800 + ((cp - 0x10000) >> 10), low surrogate = 0xDC00 + ((cp - 0x10000) & 0x3FF).

This is why JavaScript's `'😀'.charCodeAt(0)` returns 55357 (0xD83D) — it's returning the high surrogate, not the actual code point.

संबंधित शब्द

UTF-16 UTF-16
एक परिवर्तनशील-चौड़ाई वाला Unicode एन्कोडिंग जो प्रति वर्ण 2 या 4 बाइट का उपयोग करता है, JavaScript, Java और Windows द्वारा आंतरिक रूप से उपयोग किया जाता है।
कोड यूनिट कोड यूनिट
किसी वर्ण को एन्कोड करने के लिए उपयोग की जाने वाली न्यूनतम बिट संयोजन: UTF-8 के लिए 8-बिट, UTF-16 के लिए 16-बिट, और UTF-32 के लिए 32-बिट।
प्लेन प्लेन
65,536 लगातार Unicode कोड पॉइंट का एक समूह। प्लेन 0 बेसिक मल्टीलिंगुअल प्लेन (BMP) है; अधिकांश इमोजी प्लेन 1 (SMP) में रहते हैं।
सप्लीमेंटरी मल्टीलिंगुअल प्लेन (SMP) सप्लीमेंटरी मल्टीलिंगुअल प्लेन (SMP)
Unicode प्लेन 1 (U+10000 से U+1FFFF), जहाँ अधिकांश इमोजी कोड पॉइंट आवंटित हैं।

संबंधित टूल्स

🔢 Unicode लुकअप Unicode लुकअप
U+1F600 जैसा codepoint दर्ज करें और emoji, एन्कोडिंग विवरण, UTF-8/16 बाइट्स और HTML entities प्राप्त करें।
🔍 सीक्वेंस विश्लेषक सीक्वेंस विश्लेषक
ZWJ सीक्वेंस, स्किन टोन मॉडिफ़ायर, कीकैप सीक्वेंस और फ्लैग जोड़ों को अलग-अलग घटकों में डीकोड करें।