Использование японских символов
Получаю ошибку: UnicodeEncodeError: 'charmap' codec can't encode characters in position..
print('アイウエオァィゥェォカキク')
Есть специальный метод, чтобы конвертировать в unicod? Если есть способ использовать без конвертации, как есть, то тоже подойдет.
'''Пример программы, которая в качестве алфавита и ключа должна принять иероглифы. Код скопировать и вставить в ответ на codewars: https://www.codewars.com/kata/52d1bd3694d26f8d6e0000d3/train/python'''
class VigenereCipher(object):
def __init__(self, key, alphabet):
key *= len(alphabet) // len(key) + 1
self.key = key
self.alphabet = alphabet
def encode(self, text):
result = ''
text = list(text)
for i in range(len(text)):
if text[i] in "/[!., ']/":
result += text[i]
continue
if text[i] not in self.alphabet:
return "".join(text)
t = self.alphabet.index((text[i])) + self.alphabet.index(self.key[i])
if t >= len(self.alphabet):
t -= len(self.alphabet)
result += self.alphabet[t]
return result
def decode(self, text):
result = ''
text = list(text)
for i in range(len(text)):
if text[i] in "/[!., ']/":
result += text[i]
continue
if text[i] not in self.alphabet:
return "".join(text)
t = self.alphabet.index((text[i])) - self.alphabet.index(self.key[i])
if t < 0:
t += len(self.alphabet)
result += self.alphabet[t]
return result
Ответы (1 шт):
Автор решения: Kers
→ Ссылка
Попробуйте поменять кодировку файла на utf-8, второй момент смените кодировку консоли:
import os
os.system("chcp 936")
print(u'アイウエオァィゥェォカキク')
Можно кодировку менять не в скрипте в ввести в консоли chcp 936, а затем выполнить скрипт.
Использование в коде:
a = "アイ" # какой-то возврат от программы
if a =="アイ": # обрабатываем дальше
print("OK")
else:
print("err")