मैंने देखा कि पायथन की मानक स्ट्रिंग विधि स्प्लिटलाइन() वास्तव में कुछ महत्वपूर्ण यूनिकोड नियंत्रण वर्णों को भी हटा देती है। उदाहरणपायथन स्ट्रिंग स्प्लिटललाइन() कुछ यूनिकोड नियंत्रण वर्ण हटाता है
>>> s1 = u'asdf \n fdsa \x1d asdf'
>>> s1.splitlines()
[u'asdf ', u' fdsa ', u' asdf']
ध्यान दें कि "\ x1d" वर्ण चुपचाप गायब हो जाता है।
यदि स्ट्रिंग एस 1 अभी भी एक अजगर bytestring हालांकि ("यू" उपसर्ग के बिना) है यह नहीं होता है:
>>> s2 = 'asdf \n fdsa \x1d asdf'
>>> s2.splitlines()
['asdf ', ' fdsa \x1d asdf']
मैं संदर्भ https://docs.python.org/2.7/library/stdtypes.html#str.splitlines में इस बारे में कोई जानकारी नहीं मिल रहा।
ऐसा क्यों होता है? "\ X1d" (या unichr (2 9)) से अन्य वर्ण क्या प्रभावित होते हैं?
मैं उबंटू 12.04 एलटीएस पर पायथन 2.7.3 का उपयोग कर रहा हूं।