मैं पाइथन 3 में एक तेज़ और संभावित रूप से सुविधाजनक तरीका ढूंढ रहा हूं, जिसमें केवल असीसी अक्षरों वाले शब्दों के साथ गैर-असीसी अक्षरों के साथ तारों का अनुवाद किया जा सके।ASCII के लिए 7 बिट ASCII में अक्षरों का अनुवाद नहीं करना (जैसे ń से n और ą से 0)
उदाहरण!
żółw => zolw
móżdżek => mozdzek
Łódź => लॉड्ज़
और इतने पर ...
वहाँ राष्ट्रीय वर्णमाला में कई पत्र है कि में बदल सकता है कर रहे हैं ASCII पत्र (जैसे ń से n)। मैं प्रत्येक पत्र का अनुवाद करने के तरीके को निर्दिष्ट करके, अपनी भाषा (पोलिश) के लिए इसे मैन्युअल रूप से कर सकता हूं। लेकिन क्या ऐसा करने का कोई स्वचालित तरीका है? या कुछ लाइब्रेरी जो मुझे चाहिए?
अजगर str.encode()
काम नहीं चलेगा, क्योंकि "żółw".encode('ascii', 'replace') == "???w"
और "żółw".encode('ascii', 'ignore') == "w"
...
मैं पॉलिश पत्र के लिए इस तरह अनुवाद कर सकते हैं, लेकिन मैं हर दूसरे भाषा के लिए यह करने के लिए नहीं करना चाहती:
>>> utf8_letters = ['ą','ę','ć','ź','ż','ó','ł','ń','ś']
>>> ascii_letters = ['a','e','c','z','z','o','l','n','s']
>>> trans_dict = dict(zip(utf8_letters,ascii_letters))
>>> turtle = "żółw"
>>> out = []
>>> for l in turtle:
... out.append(trans_dict[l] if l in trans_dict else l)
>>> result = ''.join(out)
>>> result
'zolw'
उपरोक्त कोड जो मैं पॉलिश अक्षरों के साथ चाहता हूं, लेकिन यह बदसूरत है: < ऐसा करने का सबसे अच्छा तरीका क्या है?
बेशक ऐसे अनुवाद कुछ शब्दों के अर्थों को बदल देंगे, लेकिन यह ठीक है।
ध्यान रखें कि कुछ भाषाओं में, कुछ लोग एक उच्चारण पत्र पर विचार करेंगे जो उस भाषा में एक अलग पत्र माना जाता है। उदाहरण के लिए, स्वीडिश में 'å' अक्षर को आम तौर पर 'ए' से एक अलग अक्षर माना जाता है, न कि केवल 'ए' अक्षर को ऊपर की अंगूठी के साथ। – dreamlax
मुझे इसके बारे में पता है ... मुद्दा यह है कि जब मैं कहीं पॉलिश में लिखता हूं, जहां मेरे राष्ट्रीय पत्र समर्थित नहीं हैं, तो मैं इस "अनुवाद" का उपयोग करता हूं जिसके बारे में मैंने लिखा था। मुझे लगता है कि अन्य देशों के लोगों के पास ऐसे वातावरण में लिखने का अपना तरीका है। मैं जानना चाहता हूं कि इस तरह के परिवर्तन कैसे किए जा सकते हैं। – Maciek
@ जॉन सॉंडर्स, मेरा उत्तर पूरी तरह से अमान्य बनाने के लिए धन्यवाद। –