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 дозволено": Га. Цікаво, чи в кінцевому підсумку це стане важливим.