Я использую Python 3.3.x и Windows 7 64-бит. Я должен обработать экранированные строки Unicode в моей программе. Строки, которые представлены, например: "\ u0000N @@ ^ J \ u0007QEA \ u0001V ^ DNK \ u000b"
Когда я определяю такие строки непосредственно в коде и обрабатываю их, он работает правильно.
#! /usr/bin/python
# -*- coding: utf-8 -*-
import sys
vv = "\u0000N@@^J\u0007QEA\u0001V^DNK\u000b"
kk = 27
Однако, когда я передаю их через командную строку в качестве параметра, он не работает должным образом.
#! /usr/bin/python
# -*- coding: utf-8 -*-
import sys
# vv = unicode escaped string
vv = sys.argv[1]
kk = int(sys.argv[2])
И я вызываю скрипт, как показано ниже:
python code.py "\u0000N@@^J\u0007QEA\u0001V^DNK\u000b" 27
Я попытался напечатать строку обратно на консоль, и она печатает ее в точности так: \ u0000N @@ ^ J \ u0007QEA \ u0001V ^ DNK \ u000b
Я не уверен, в чем здесь проблема. Я использую MS DOS в качестве консоли.
ver command output from the console
Microsoft Windows [Version 6.1.7601]