python - पायथन स्रोत में utf-8 एन्कोडिंग के साथ काम करना




encoding character-encoding (2)

इस प्रश्न का उत्तर यहां दिया गया है:

$ cat bla.py 
u = unicode('d…')
s = u.encode('utf-8')
print s
$ python bla.py 
  File "bla.py", line 1
SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

मैं स्रोत कोड में utf-8 तारों को कैसे घोषित कर सकता हूं?


स्रोत कोड में उपरोक्त शीर्षलेख के लिए:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

यह सत्यापित करना न भूलें कि आपका टेक्स्ट एडिटर आपके कोड को utf-8 में ठीक से एन्कोड करता है या नहीं। अन्यथा, आपके पास अदृश्य वर्ण हो सकते हैं जिन्हें utf-8 के रूप में नहीं समझा जाता है।


स्रोत शीर्षलेख में आप घोषित कर सकते हैं:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
....

पीईपी 0263 में इसका वर्णन किया गया है:

फिर आप तारों में यूटीएफ -8 का उपयोग कर सकते हैं:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

u = 'idzie wąż wąską dróżką'
uu = u.decode('utf8')
s = uu.encode('cp1250')
print(s)

इस घोषणा को पायथन 3 में जरूरी नहीं है क्योंकि UTF-8 डिफ़ॉल्ट स्रोत एन्कोडिंग है ( पीईपी 3120 देखें)।





character-encoding