Как отобразить символ в неправильном наборе символов - PullRequest
1 голос
/ 15 июля 2011

Как я могу вывести то, что будет æ, если ø = ø?

Я предполагаю, что левая сторона - это юникод, а правая - что-то еще, например iso-8859-1,но как я могу распечатать, что будет символом юникода, если он испорчен?


Предыстория : У меня есть небольшая странная проблема, связанная с тем, что Steam портит кодировки символов.Пытаясь помочь другу восстановить свою учетную запись, и я думаю, что они использовали письмо æ в своем секретном ответе.Диалог для сброса пароля не принимает эту букву и говорит, что ответ неверен, если мы попробуем естественные альтернативы.В письме восстановления, которое я получаю, письмо ø отображается как ø в секретном вопросе.Итак, я думаю, возможно, когда ответ и вопрос были созданы, письмо æ было принято, но перепутано.Я подумал, что могу попытаться использовать испорченный эквивалент, но не знаю, что это будет, и мои навыки программирования не позволяют мне найти его самому: p

1 Ответ

0 голосов
/ 10 сентября 2011

В Python вы можете закодировать строку в байтовую строку в UTF-8, а затем преобразовать байтовую строку в (текстовую) строку, используя iso-8859-1. Результатом будет желаемый моджибаке .

В Python 3:

>>> 'æ'
'æ'
>>> 'æ'.encode('utf8')
b'\xc3\xa6'
>>> 'æ'.encode('utf8').decode('iso-8859-1')
'æ'

В Python 2 используйте u'æ' вместо 'æ'.

...