\u0000-\uD7FF और \uE000-\uFFFF श्रेणियों में यूनिकोड वर्णों में UTF8 में 3 बाइट (या उससे कम) एन्कोडिंग होंगे। \uD800-\uDFFF रेंज मल्टीबाइट UTF16 के लिए है। मैं अजगर को नहीं जानता, लेकिन आपको उन श्रेणियों के बाहर मिलान करने के लिए एक नियमित अभिव्यक्ति सेट करने में सक्षम होना चाहिए।
pattern = re.compile("[\uD800-\uDFFF].", re.UNICODE)
pattern = re.compile("[^\u0000-\uFFFF]", re.UNICODE)
प्रश्न के मुख्य भाग में डेनिलसन सा की स्क्रिप्ट से पायथन जोड़ने का संपादन करें:
re_pattern = re.compile(u'[^\u0000-\uD7FF\uE000-\uFFFF]', re.UNICODE)
filtered_string = re_pattern.sub(u'\uFFFD', unicode_string)