unicode翻译的奇怪错误

时间:2014-11-13 15:04:30

标签: python python-2.7 unicode

我对这段代码有些麻烦:

print "Таблица Unicode (русские буквы)".center(18*4)
i = 0

for c in "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"\
         "абвгдежзийклмнопрстуфхцчшщъыьэюя":
  u = unicode(c, 'koi8-r')  

在这里,我尝试将俄语字母翻译成Unicode但收到错误:

SyntaxError: (unicode error) 'utf8' codec can't decode byte 0xc0 in position 0: invalid start byte

但如果我手动尝试:

u = unicode('A', 'koi8-r')
u = unicode('Б', 'koi8-r')
一切都好。有什么问题?

1 个答案:

答案 0 :(得分:1)

首先使用unicode文字。

print u"Таблица Unicode (русские буквы)".center(18*4)

for c in (u"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
          u"абвгдежзийклмнопрстуфхцчшщъыьэюя"):
  print c