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 на mojibake за сравнение с изображението:

1 Текстът по-долу съдържа U + 200E маркировка отляво надясно, за да се предотврати изобразяването на арабски символи отдясно наляво и промяна на техните форми въз основа на тяхната позиция. Друг проблем, който предотвратява правилното копиране, се дължи на наличието на U + 00A0 No-Break Space, което се преобразува в пространство при копиране от браузъра.

�����T��������[��������o��������[��� ���������������T��������[��������o��������[��� �����]��������[�������������� ���������������T��������[��������o��������[��� ���������������������� ��������������������������]��������[��������������/������������������������������X��������^��������[��������o����������������������������������� ��������������������������������� ��������������������������s������������������������������\������������������������ �����@���������S��������������������Z��������g���������p��������������������\��� �����@��������i�������������������������������������/��������������������������������������������� �����@�������������������o��������������������������/��������������������������������������������� 
1
  • „Разрешено PvP“: А. Чудя се дали това в крайна сметка ще бъде важно.