Anonim

Windows 10 Insider Preview Build 18875 (20H1)

I afsnit 9 af anden sæson af Log Horizon, når ...

Shiroe døde og dukkede op på den uofficielle 14. server af Elder Tale, testserveren, som var indstillet til at være på Månen i stedet for på Jorden,

... han tjekkede placeringen, og dialogen var for det meste forvrænget, gemt for placeringsnavnet Mare Tranquillitatis.

Kan den forvrængede tekst dekrypteres, eller er det simpelthen skrald?

Ja, den forvrængede tekst er resultatet af mojibake, hvor den originale tekst på japansk, kodet i Shift-JIS-kodning, dekodes af Windows-1256-kodning.

Hvis du nogensinde åbner en japansk webside eller tekstfil kodet i Shift-JIS-kodning (2-byte tegnsæt) under en eller anden vestlig kodning i Windows (1-byte tegnsæt), vil du se høj frekvens af �� parret med et andet tegn i den resulterende visning. Da jeg bemærker, at der er arabiske tegn i billedet, brugte jeg en af ​​mine eksisterende tekstfiler, der er kodet i Shift-JIS og forsøgte at åbne den med arabisk (Windows) kodning i browseren, og jeg fandt ud af, at arabisk (Windows) eller vestlig kodning har den samme kortlægning for �� og �� (hvilket er en anden almindelig karakter i den forvanskede tekst).

Efter at have sammenlignet med det korrekt gengivne placeringsstatusvindue og nogle gætterier, lykkedes det mig at afkode den forvrængede tekst til korrekt japansk tekst (parenteserne og tilføjes for at gøre klarheden og dekodes ikke fra forvansket tekst):

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

Oversættelse:

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

bilag

For at krydstjekke resultatet kan du bruge følgende stykke Python 3-kode:

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')) 

Nedenfor er kun visning kilde1 af mojibaken til sammenligning med billedet:

1 Teksten nedenfor indeholder U + 200E markering fra venstre mod højre for at forhindre arabiske tegn i at gengive højre mod venstre og ændre deres figurer baseret på deres position. Et andet problem, der forhindrer lige kopiering, skyldes tilstedeværelsen af ​​U + 00A0 No-Break Space, der konverteres til space, når de kopieres fra browseren.

�����T��������[��������o��������[��� ���������������T��������[��������o��������[��� �����]��������[�������������� ���������������T��������[��������o��������[��� ���������������������� ��������������������������]��������[��������������/������������������������������X��������^��������[��������o����������������������������������� ��������������������������������� ��������������������������s������������������������������\������������������������ �����@���������S��������������������Z��������g���������p��������������������\��� �����@��������i�������������������������������������/��������������������������������������������� �����@�������������������o��������������������������/��������������������������������������������� 
1
  • "PvP tilladt": Uh. Spekulerer på, om det ender med at være vigtigt.