जावा स्ट्रिंग्स में यूनिकोड कोडपॉइंट्स पर पुनरावृत्ति
जबकि स्ट्रिंग क्लास यूनिकोड कोडपॉइंट्स तक पहुंचने के लिए कोडपॉइंटएट (इंट) विधि प्रदान करता है, इसकी अनुक्रमणिका निर्भर करती है कोडपॉइंट ऑफसेट के बजाय कैरेक्टर ऑफसेट पर। यह उच्च-सरोगेट सीमा के भीतर पात्रों को संभालने और चरित्र-दर-वर्ण स्कैनिंग का उपयोग करके प्रस्तावित पुनरावृत्ति दृष्टिकोण की दक्षता के बारे में चिंताएं पैदा करता है।
बेहतर पुनरावृत्ति समाधान
जावा का आंतरिक स्ट्रिंग प्रतिनिधित्व UTF-16-आधारित एन्कोडिंग योजना को नियोजित करता है। बेसिक मल्टीलिंगुअल प्लेन (बीएमपी) के बाहर के पात्रों को सरोगेसी योजना का उपयोग करके एन्कोड किया गया है। कुशल पुनरावृत्ति के लिए, निम्नलिखित विहित दृष्टिकोण का उपयोग करने पर विचार करें:
final int length = s.length();
for (int offset = 0; offset यह दृष्टिकोण बीएमपी के बाहर के पात्रों के लिए सरोगेट जोड़े को सही ढंग से संभालता है। कैरेक्टर.चारकाउंट (कोडपॉइंट) का उपयोग करके, यह प्रत्येक कोडपॉइंट के लिए उचित संख्या में वर्णों द्वारा ऑफसेट को कुशलतापूर्वक बढ़ाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3