Windows 10 Insider Preview Build 18875 (20H1)
In aflevering 9 van het tweede seizoen van Log Horizon, wanneer ...
Shiroe stierf en verscheen op de onofficiële 14e server van Elder Tale, de testserver, die op de maan zou zijn in plaats van op de aarde,
... hij controleerde de locatie en het dialoogvenster was grotendeels onleesbaar, opgeslagen voor de locatienaam Merrie Tranquillitatis.
Kan de vervormde tekst worden ontsleuteld, of is het gewoon rotzooi?
Ja, de verminkte tekst is het resultaat van mojibake, waarbij de originele tekst in het Japans, gecodeerd in Shift-JIS-codering, wordt gedecodeerd door Windows-1256-codering.
Als u ooit een Japanse webpagina of tekstbestand opent dat is gecodeerd in Shift-JIS-codering (2-byte-tekenset) onder een westerse codering in Windows (1-byte-tekenset), ziet u een hoge frequentie van ��
gecombineerd met een ander personage in de resulterende weergave. Omdat ik zie dat er Arabische tekens in de afbeelding staan, heb ik een van mijn bestaande tekstbestanden gebruikt die zijn gecodeerd in Shift-JIS en heb geprobeerd het te openen met Arabische (Windows) codering in de browser, en ik ontdekte dat Arabisch (Windows) of westerse codering heeft dezelfde toewijzing voor ��
en ��
(wat een ander veelvoorkomend teken is in de verminkte tekst).
Na het te hebben vergeleken met het correct weergegeven locatiestatusvenster en wat giswerk, slaagde ik erin om de verminkte tekst te decoderen naar de juiste Japanse tekst (de haakjes en zijn toegevoegd voor de duidelijkheid en niet gedecodeerd uit verminkte tekst):
������������������ ��������������� ��������������� ��������������� ������������ ���������������/��������������������������� ��������������� ������������������������ ������������������������ ���������������/������������ ���������������/������������
Vertaling:
Moon Server Moon Server Isolated zone/No monster PVP allowed Special skills allowed Entry restriction/Restricted Exit restriction/Restricted
Bijlage
Om het resultaat te kruisen, kunt u het volgende stuk Python 3-code gebruiken:
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'))
Hieronder is de alleen bekijken bron1 van de mojibake ter vergelijking met de afbeelding:
1 De onderstaande tekst bevat de U + 200E-markering van links naar rechts om te voorkomen dat Arabische tekens van rechts naar links worden weergegeven en hun vorm veranderen op basis van hun positie. Een ander probleem dat rechtstreeks kopiëren verhindert, is te wijten aan de aanwezigheid van U + 00A0 No-Break Space, die naar ruimte wordt geconverteerd wanneer deze vanuit de browser wordt gekopieerd.
�����T��������[��������o��������[��� ���������������T��������[��������o��������[��� �����]��������[�������������� ���������������T��������[��������o��������[��� ���������������������� ��������������������������]��������[��������������/������������������������������X��������^��������[��������o����������������������������������� ��������������������������������� ��������������������������s������������������������������\������������������������ �����@���������S��������������������Z��������g���������p��������������������\��� �����@��������i�������������������������������������/��������������������������������������������� �����@�������������������o��������������������������/���������������������������������������������
1 - "PvP toegestaan": Huh. Vraag me af of dat belangrijk zal worden.