Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन इंटरनेट स्ट्रिंग प्रिपरेशन

इंटरनेट में विभिन्न चीजों की पहचान करने के लिए, विभिन्न पहचानों की तुलना समानता के लिए करना आवश्यक है। तुलना प्रक्रिया एप्लिकेशन डोमेन पर निर्भर करती है। उदाहरण के लिए, कुछ चीजें केस-इनसेंसिटिव होती हैं आदि। इस तरह की जानकारी की जांच के लिए stringprep का उपयोग किया जाता है।

RFC 3454 वायर के माध्यम से ट्रांसमिट करने से पहले यूनिकोड स्ट्रिंग्स को तैयार करने की प्रक्रिया को परिभाषित करता है। तैयारी प्रक्रिया से गुजरने के बाद, उनका एक निश्चित नॉर्मलाइज़्ड फॉर्म होता है।

RFC टेबल्स का एक सेट परिभाषित करता है; इन टेबल्स को प्रोफाइल्स में जोड़ा जा सकता है। उदाहरण के लिए stringprep का एक प्रोफाइल nameprep है। nameprep में, अंतर्राष्ट्रीयकृत डोमेन नाम हैं।

दो प्रकार की टेबल्स हैं, set और mappings। यदि कोई कैरेक्टर सेट टेबल में मौजूद है, तो यह true लौटाएगा, अन्यथा false। मैपिंग टेबल्स के लिए, जब कुंजी पास की जाती है, तो यह संबद्ध मान लौटाएगा।

इस मॉड्यूल का उपयोग करने के लिए, हमें अपने कोड में stringprep मॉड्यूल आयात करने की आवश्यकता है।

import stringprep

stringprep टेबल्स हैं:

Sr.No.टेबल्स और विवरण
1

stringprep.in_table_a1(code)

यह यूनिकोड 3.2 में अनसाइन्ड कोड पॉइंट्स हैं

2

stringprep.in_table_b1(code)

यह आमतौर पर कुछ भी नहीं मैप किया जाता है।

3

stringprep.in_table_b2(code)

कोड के लिए टेबल B.2 पर मैप्ड वैल्यू लौटाएं। NFKC केस-फोल्डिंग के लिए मैपिंग।

4

stringprep.in_table_b3(code)

नॉर्मलाइज़ेशन के बिना केस-फोल्डिंग मैपिंग।

5

stringprep.in_table_c11(code)

ASCII स्पेस कैरेक्टर्स

6

stringprep.in_table_c12(code)

नॉन-ASCII स्पेस कैरेक्टर्स

7

stringprep.in_table_c11_c12(code)

ASCII और नॉन-ASCII स्पेस कैरेक्टर्स का संयोजन

8

stringprep.in_table_c21(code)

ASCII कंट्रोल कैरेक्टर्स

9

stringprep.in_table_c22(code)

नॉन-ASCII कंट्रोल कैरेक्टर्स

10

stringprep.in_table_c21_c22(code)

ASCII और नॉन-ASCII कंट्रोल कैरेक्टर्स का संयोजन

11

stringprep.in_table_c3(code)

प्राइवेट यूज के लिए कैरेक्टर्स

12

stringprep.in_table_c4(code)

नॉन-कैरेक्टर कोड पॉइंट्स

13

stringprep.in_table_c5(code)

सरोगेट कोड्स

14

stringprep.in_table_c6(code)

प्लेन टेक्स्ट कैरेक्टर्स के लिए अनुपयुक्त

15

stringprep.in_table_c7(code)

कैनोनिकल प्रतिनिधित्व के लिए अनुपयुक्त

16

stringprep.in_table_c8(code)

डिस्प्ले प्रॉपर्टी चेंज कोड्स

17

stringprep.in_table_c9(code)

टैगिंग कैरेक्टर्स

18

stringprep.in_table_d1(code)

कैरेक्टर्स, जिनमें 'R' और 'AL' बाइडायरेक्शनल प्रॉपर्टी है।

19

stringprep.in_table_d2(code)

कैरेक्टर्स, जिनमें 'L' बाइडायरेक्शनल प्रॉपर्टी है।

उदाहरण कोड

import stringprep as sp

print('\u0020') # स्पेस कैरेक्टर
print(sp.in_table_c11('\u0020')) # यह ASCII स्पेस कैरेक्टर्स के अंदर है
print(sp.in_table_d2('L')) # लेटर L में लेफ्ट-टू-राइट बाइडायरेक्शनल प्रॉपर्टी है
print(sp.in_table_d1('L')) # लेटर L में राइट-टू-लेफ्ट के लिए कोई बाइडायरेक्शनल प्रॉपर्टी नहीं है

आउटपुट

True
True
False
  1. - पायथन में exec() फ़ंक्शन

    exec फ़ंक्शन पायथन प्रोग्राम के कोड को डायनामिक रूप से निष्पादित कर सकता है। कोड को स्ट्रिंग या ऑब्जेक्ट कोड के रूप में इस फ़ंक्शन में पास किया जा सकता है। ऑब्जेक्ट कोड को जैसा है वैसा ही निष्पादित किया जाता है जबकि स्ट्रिंग को पहले पार्स किया जाता है और किसी भी सिंटैक्स त्रुटि के लिए जांचा जाता है।

  1. - पायथन में casefold() स्ट्रिंग विधि

    यह फ़ंक्शन किसी शब्द के अक्षरों को लोअरकेस में बदलने में सहायक होता है। जब दो स्ट्रिंग्स पर लागू किया जाता है तो यह उनके मानों का मिलान कर सकता है भले ही अक्षरों का केस कुछ भी हो। casefold() लागू करना नीचे दिए गए उदाहरण में हम एक स्ट्रिंग पर casefold() फ़ंक्शन लागू करते हैं और परिणाम सभी लोअरकेस अ

  1. - पायथन में पायथन कोड वाली स्ट्रिंग को कैसे एक्जीक्यूट करें?

    यदि आप पायथन स्टेटमेंट्स को एक्जीक्यूट करना चाहते हैं, तो आप exec(string) का उपयोग कर सकते हैं। उदाहरण के लिए, >>> my_code = print Hello World! >>> exec(my_code) Hello World! लेकिन यदि आप केवल एक एक्सप्रेशन के मान का मूल्यांकन करना चाहते हैं, तो आप eval() का उपयोग कर सकते हैं। उदाह