Anonim

Windows 10 Insider Preview Build 18875 (20H1)

В епізоді 9 другого сезону Log Horizon, коли ...

Широ помер і з'явився на неофіційному 14-му сервері Elder Tale, тестовому сервері, який був встановлений на Місяці, а не на Землі,

... він перевірив місце розташування, і діалогове вікно було здебільшого спотворене, збережене для назви місця Mare Tranquillitatis.

Чи можна заплутаний текст розшифрувати, чи це просто сміття?

Так, спотворений текст є результатом mojibake, де оригінальний текст японською мовою, закодований у кодуванні Shift-JIS, декодується кодуванням Windows-1256.

Якщо ви коли-небудь відкриваєте японську веб-сторінку або текстовий файл, закодований у кодуванні Shift-JIS (2-байтовий набір символів) під деяким західним кодуванням у Windows (1-байтовий набір символів), ви побачите високу частоту �� в парі з якимсь іншим персонажем у вікні, що виходить. Оскільки я помітив, що на зображенні є арабські символи, я використав один із існуючих текстових файлів, кодований Shift-JIS, і спробував відкрити його за допомогою кодування арабською мовою (Windows) у браузері, і виявив, що арабська (Windows) або західне кодування має те саме відображення для �� і �� (що є ще одним поширеним символом у спотвореному тексті).

Порівнявши з вікном належним чином відображеного стану місцезнаходження та деякими здогадками, мені вдалося розшифрувати спотворений текст у відповідний японський текст (дужки і додані для ясності, а не декодовані з викривленого тексту):

������������������ ��������������� ��������������� ��������������� ������������ ���������������/��������������������������� ��������������� ������������������������ ������������������������ ���������������/������������ ���������������/������������ 

Переклад:

 Moon Server  Moon Server  Isolated zone/No monster  PVP allowed Special skills allowed Entry restriction/Restricted Exit restriction/Restricted 

Додаток

Для перехресної перевірки результату ви можете використовувати наступний фрагмент коду Python 3:

garbled = '��T��[��o��[\n������T��[��o��[\n��]��[�����\n������T��[��o��[\n����������\n�����������]��[�����/������������X��^��[��o��������������\n���������������\n�����������s������������\\���������\n��@���S��������Z��g���p��������\\\n��@��i����������������/�����������\xa0�����\n��@�������o�����������/�����������\xa0�����' print(garbled.encode('Windows-1256').decode('Shift-JIS')) 

Нижче наведено лише для перегляду джерело1 моджибаке для порівняння із зображенням:

1 Наведений нижче текст містить позначку U + 200E зліва направо, щоб арабські символи не перетворювали справа наліво та не змінювали свої форми залежно від їх положення. Інша проблема, яка запобігає прямому копіюванню, пов’язана з наявністю простору U + 00A0 No-Break, який при копіюванні з браузера перетворюється на простір.

�����T��������[��������o��������[��� ���������������T��������[��������o��������[��� �����]��������[�������������� ���������������T��������[��������o��������[��� ���������������������� ��������������������������]��������[��������������/������������������������������X��������^��������[��������o����������������������������������� ��������������������������������� ��������������������������s������������������������������\������������������������ �����@���������S��������������������Z��������g���������p��������������������\��� �����@��������i�������������������������������������/��������������������������������������������� �����@�������������������o��������������������������/��������������������������������������������� 
1
  • "PvP дозволено": Га. Цікаво, чи в кінцевому підсумку це стане важливим.