Как перевести порядковые номера символов ASCII Win-1251 кириллицы в строку русских букв в PYTHON?
Как из
Зашифрованный текст: Êëã÷àí
207
240
232
226
229
242
Получить слово - Привет в зашифрованном виде (Фхнжйч) с шагом 5
def encrypt(msg, shift):
output=""
for char in msg:
if char == ' ':
pass
elif char.isupper():
output = output + chr((ord(char) + shift - 192) % 26 + 192)
else:
output = output + chr((ord(char) + shift - 224) % 26 + 224)
return output
def decrypt(msg, shift):
res = ''
for char in msg:
if char == ' ':
pass
elif char.isupper():
res = res + chr((ord(char) - shift - 192) % 26 + 192)
else:
res = res + chr((ord(char) - shift - 224) % 26 + 224)
return res
text = input("Введите текст для шифрации: ")
s = int(input("Введите шаг: "))
print("Зашифрованный текст:", encrypt(text, s))
s = text.encode('cp1251')
for b in s:
print(b)
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
output = output + chr((ord(char) + shift - 192) % 26 + 192)
^^^ ^^ ^^^
Подсказки:
- 26 букв в английском алфавите, а русском алфавите другое количество букв
- вычитать и добавлять вам нужно другие числа, для этого посмотрите чему равны
ord('А')иord('а') - с буквой
Ёбудут отдельные заморочки, лучше считайте, что такой буквы просто нет в русском алфавите