SMS

GSM-7 बनाम UCS-2 एन्कोडिंग क्या है?

GSM-7 सीमित अल्फ़ाबेट से प्रति सेगमेंट अधिक टेक्स्ट रखता है; UCS-2 अधिक कैरेक्टर सपोर्ट करता है लेकिन प्रति सेगमेंट कम जगह देता है।

एक कर्ली एपॉस्ट्रॉफ़ी उस टेक्स्ट की कीमत बदल सकती है जिसमें बाक़ी सब साधारण Latin अक्षर हैं। फ़ोन लगभग वही वाक्य दिखाता है। Bird उसे भेजने के लिए अधिक नेटवर्क सेगमेंट लेता है।

दो एन्कोडिंग कौन-सी हैं?

GSM-7 एक कॉम्पैक्ट अल्फ़ाबेट उपयोग करता है, जबकि UCS-2 उस अल्फ़ाबेट के बाहर के कैरेक्टर दर्शाता है।

साधारण Latin अक्षर, अंक, सामान्य विराम चिह्न और कुछ एक्सेंटेड अक्षर GSM-7 में आते हैं। SMS अल्फ़ाबेट स्पेसिफ़िकेशन उस सेट को परिभाषित करता है।

UCS-2 उस सेट से बाहर के कैरेक्टर रखता है, जिनमें कर्ली कोट्स और emoji शामिल हैं। कुछ emoji इसकी कैरेक्टर सीमा में दोगुने गिने जाते हैं।

चीनी, जापानी, कोरियाई, सिरिलिक, अरबी, थाई और हिन्दी टेक्स्ट के लिए Bird के GSM-7 अल्फ़ाबेट से बाहर के कैरेक्टर ज़रूरी हैं।

Bird एन्कोडिंग कैसे चुनता है?

Bird पूरे बॉडी को GSM-7 के अनुसार जाँचता है और यदि कोई भी कैरेक्टर उस जाँच में विफल होता है तो UCS-2 का उपयोग करता है।

एन्कोडिंग पूरे बॉडी पर लागू होती है। कर्ली एपॉस्ट्रॉफ़ी को अपने आसपास के शब्दों से अलग एन्कोडिंग नहीं मिलती। उसकी मौजूदगी उन शब्दों की एन्कोडिंग भी बदल देती है।

आप segments.encoding से परिणाम देख सकते हैं, जिसके मान GSM_7BIT और UCS2 हैं।

एन्कोडिंग सेगमेंट की संख्या कैसे बदलती है?

विस्तृत एन्कोडिंग हर बिल-योग्य सेगमेंट में टेक्स्ट के लिए कम जगह छोड़ती है।

Bird ये सीमाएँ उपयोग करता है:

एन्कोडिंगएकल सेगमेंटविभाजित होने पर प्रत्येक हिस्सा
GSM-7160 कैरेक्टर153 कैरेक्टर
UCS-270 कैरेक्टर67 कैरेक्टर

ये सीमाएँ कुछ कैरेक्टर दोगुने गिनती हैं, जैसा नीचे सूचीबद्ध है। विभाजित होने पर प्रत्येक हिस्सा हेडर के लिए जगह आरक्षित करता है ताकि फ़ोन उन्हें जोड़ सके। Concatenated SMS हेडर की व्याख्या करता है।

155 साधारण Latin अक्षरों का बॉडी एक GSM-7 सेगमेंट में आता है। एक कर्ली एपॉस्ट्रॉफ़ी जोड़ें और 156-कैरेक्टर वाला बॉडी UCS-2 में बदल जाता है। यह 70 से अधिक है, इसलिए मल्टीपार्ट सीमा लागू होती है: 156 भाग 67 ऊपर पूर्णांकित होकर तीन सेगमेंट बनता है।

Bird हर सेगमेंट का अलग बिल करता है। SMS सेगमेंट बताता है कि गिनती बिल-योग्य मात्रा कैसे बनती है।

किन कैरेक्टर पर विशेष ध्यान देना चाहिए?

कर्ली विराम चिह्न, emoji और GSM-7 अल्फ़ाबेट से बाहर के अक्षर पूरे संदेश की एन्कोडिंग बदल सकते हैं।

  • सीधे एपॉस्ट्रॉफ़ी GSM-7 में आते हैं; कर्ली एपॉस्ट्रॉफ़ी नहीं आते।
  • साधारण हाइफ़न आता है; टाइपोग्राफ़िक एन डैश और एम डैश नहीं आते।
  • तीन पीरियड आते हैं; एकल एलिप्सिस कैरेक्टर नहीं आता।
  • é और ü आते हैं; á, í और ú नहीं आते।

GSM-7 इन कैरेक्टर को दोगुना गिनता है: ^, {, }, \, [, ], ~, | और । Form feed, जो पेज ब्रेक का अनुरोध करने वाला कंट्रोल कैरेक्टर है, भी दोगुना गिना जाता है। इसलिए अस्सी यूरो चिह्न एक सेगमेंट भर देते हैं।

UCS-2 में 😀 जैसा emoji दोगुना गिना जाता है। पैंतीस एक सेगमेंट भर देते हैं। एक और जोड़ने पर इसकी क्षमता पार हो जाती है।1

क्या स्मार्ट एन्कोडिंग इस बदलाव से बचा सकती है?

स्मार्ट एन्कोडिंग समर्थित विराम चिह्नों को तब बदल सकती है जब परिणामी हर कैरेक्टर GSM-7 में आ जाए।

आप इसे प्रति भेजने पर options.smart_encoding से सक्षम करते हैं, एक boolean जो true या false स्वीकार करता है, डिफ़ॉल्ट false है। कर्ली एपॉस्ट्रॉफ़ी सीधे एपॉस्ट्रॉफ़ी में बदल सकती है। एलिप्सिस तीन पीरियड में बदल सकता है।

यदि कोई भी असमर्थित कैरेक्टर बचा रहता है तो Bird मूल बॉडी को अपरिवर्तित छोड़ देता है। इसलिए अरबी या जापानी टेक्स्ट Unicode क्षमता सीमाएँ बनाए रखता है। यह सेटिंग बदलने से उन लिपियों को GSM-7 में नहीं लाया जा सकता।

स्मार्ट एन्कोडिंग प्रतिस्थापन नियमों का वर्णन करता है, और सेगमेंट कैलकुलेटर भेजने से पहले टेक्स्ट की जाँच करता है।

Footnotes

  1. कस्टम कैलकुलेटर के लिए, Bird GSM-7 को septets में और UCS2 को UTF-16 code units में मापता है। GSM-7 एक्सटेंशन कैरेक्टर दो septets उपयोग करते हैं। UTF-16 Unicode के पहले ब्लॉक से बाहर के कैरेक्टर के लिए दो code units उपयोग करता है, जिनमें 😀 शामिल हैं।

संक्षेप में

  1. बॉडी एन्कोडिंग तय करती है।

    Bird तब GSM-7 उपयोग करता है जब हर कैरेक्टर उसके अल्फ़ाबेट में आता है, और UCS-2 तब जब कोई भी कैरेक्टर उसके बाहर हो।

  2. कुछ कैरेक्टर दोगुने गिने जाते हैं।

    साधारण Latin टेक्स्ट प्रति सेगमेंट 160 कैरेक्टर आता है। विस्तृत अल्फ़ाबेट में 70 आते हैं, कुछ emoji दोगुने गिने जाते हैं।

  3. विभाजन हर हिस्से की क्षमता घटाता है।

    मल्टीपार्ट संदेश हेडर के लिए जगह आरक्षित करते हैं। साधारण Latin टेक्स्ट तब प्रति हिस्से 153 कैरेक्टर आता है। विस्तृत अल्फ़ाबेट में 67 आते हैं, कुछ कैरेक्टर दोगुने गिने जाते हैं।

  4. स्मार्ट एन्कोडिंग के लिए स्पष्ट चयन ज़रूरी है।

    Bird समर्थित कैरेक्टर तभी बदलता है जब आप विकल्प सक्षम करें और पूरा परिणाम GSM-7 में आ जाए।

व्यवहार में लाएँ।

इस विषय के लिए डॉक्यूमेंटेशन, गाइड और उदाहरणों के साथ आगे बढ़ें। संसाधन अंग्रेज़ी में हैं।

अभ्यास करें और इम्प्लीमेंटेशन ब्रीफ़ पाएँ

उसी नेटवर्क पर बनाएँ।

एक टेस्ट API key आपको तुरंत मिल जाती है। भुगतान विधि जोड़ने और सेंडर सत्यापित करने पर प्रोडक्शन अनलॉक होता है।

आपका अगला आइडिया।
जुड़ने के लिए तैयार।