Ich versuche, nicht-ASCII-Zeichen in Python mit utf-16-le, zu kodieren und hier ist der Ausschnitt aus dem Code dafür:Verwendung von UTF-16-Codierung in Python
import os
import sys
def run():
print sys.getdefaultencoding()
reload(sys)
sys.setdefaultencoding('utf-16-le')
print sys.getdefaultencoding()
test_dir = unit_test_utils.get_test_dir("utkarsh")
dir_name_1 = '東京'
....
....
if __name__ == '__main__':
run()
Wenn dieser Code ist run, das ist der Fehler gesehen:
# /u/bin/python-qs /root/python/tests/abc.py -c /root/test.conf
File "/root/python/tests/abc.py", line 27
SyntaxError: Non-ASCII character '\xe6' in file /root/python/tests/abc.py on line 27, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Wie kann das behoben werden? Ich habe versucht, diese Zeile am Anfang der Datei hinzufügen, aber ohne Erfolg:
# -*- coding: utf-16-le -*-
Der Fehler dieses Mal war:
# /u/bin/python-qs /root/python/tests/abc.py -c /root/test.conf
File "/root/python/tests/abc.py", line 2
import os
import sys
...
...
if __name__ == '__main__':
run()
^
SyntaxError: invalid syntax
Edit:
Zeile 27: dir_name_1 = '東京 '
dekodieren. Können Sie ein vollständiges Beispiel angeben, das diesen Fehler verursacht? –
Ist Ihr Quellcode in utf-16 codiert? Überprüfen Sie mit 'Datei abc.py'. –
@MichelBillaud Ausgabe: UTF-8 Unicode-Java-Programmtext – Maddy