Anonim

Windows 10 siseringi eelvaate järk 18875 (20H1)

Log Horizoni teise hooaja 9. osas, kui ...

Shiroe suri ja ilmus testiserveri Elder Tale mitteametlikule 14. serverile, mis pidi olema Maa asemel Kuul.

... ta kontrollis asukohta ja dialoog oli enamasti segaduses, salvestatud asukoha nimeks Mare Tranquillitatis.

Kas segaduses oleva teksti saab dekrüpteerida või on see lihtsalt prügi?

Jah, segane tekst on loodud mojibake'ist, kus Shift-JIS-kodeeringuga kodeeritud jaapanikeelne algtekst dekodeeritakse Windows-1256-kodeeringuga.

Kui avate kunagi Jaapani veebilehe või tekstifaili, mis on kodeeritud Shift-JIS-kodeeringus (2-baidine märgistik) Windowsi mõne lääne kodeeringu all (1-baidine märgistik), näete järgmist: �� saadud vaates mõne muu tähemärgiga. Kuna märkan, et pildil on araabia tähemärke, kasutasin ühte olemasolevat tekstifaili, mis on kodeeritud Shift-JIS-is, ja proovisin seda brauseris araabia (Windows) kodeeringuga avada ning sain teada, et araabia (Windows) või lääne kodeeringul on sama kaardistamine �� ja �� (mis on veel üks levinud märk segases tekstis).

Pärast võrdlust korrektselt renderdatud asukoha oleku aknaga ja mõningaid aimamisi õnnestus mul dekodeerida sega tekst korrektseks jaapanikeelseks tekstiks (sulgud ja lisatakse selguse huvides ja neid pole dekodeeritud räsitud tekstist):

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

Tõlge:

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

Lisa

Tulemuse ristkontrollimiseks võite kasutada järgmist Python 3 koodi tükki:

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

Allpool on ainult vaatamiseks allikas1 mojibake'i piltiga võrdlemiseks:

1 Allpool olev tekst sisaldab märki U + 200E vasakult paremale, et takistada araabia tähemärki renderdamist paremalt vasakule ja nende kuju muutmist vastavalt nende asukohale. Teine probleem, mis takistab sirget kopeerimist, tuleneb U + 00A0 No-Break Space olemasolust, mis brauserist kopeerimisel muudetakse ruumiks.

�����T��������[��������o��������[��� ���������������T��������[��������o��������[��� �����]��������[�������������� ���������������T��������[��������o��������[��� ���������������������� ��������������������������]��������[��������������/������������������������������X��������^��������[��������o����������������������������������� ��������������������������������� ��������������������������s������������������������������\������������������������ �����@���������S��������������������Z��������g���������p��������������������\��� �����@��������i�������������������������������������/��������������������������������������������� �����@�������������������o��������������������������/��������������������������������������������� 
1
  • "PvP lubatud": Huh. Ei tea, kas see on lõpuks oluline.