Anonim

Windows 10 Insider Preview Build 18875 (20H1)

V 9. epizodi druge sezone Log Horizon, ko ...

Shiroe je umrl in se pojavil na neuradnem 14. strežniku Elder Tale, testnem strežniku, ki naj bi bil na Luni namesto na Zemlji,

... preveril je lokacijo in pogovorno okno je bilo večinoma popačeno, shranjeno za ime lokacije Mare Tranquillitatis.

Ali je mogoče popačeno besedilo dešifrirati ali gre zgolj za smeti?

Da, popačeno besedilo je rezultat mojibake, kjer izvirno besedilo v japonščini, kodirano v kodiranju Shift-JIS, dekodira s kodiranjem Windows-1256.

Če kdaj odprete japonsko spletno stran ali besedilno datoteko, kodirano v kodiranju Shift-JIS (2-bajtni nabor znakov) pod nekaterim zahodnim kodiranjem v sistemu Windows (1-bajtni nabor znakov), boste videli visoko frekvenco �� seznanjen s kakšnim drugim znakom v prikazanem pogledu. Ker opažam, da so na sliki arabski znaki, sem uporabil eno od obstoječih besedilnih datotek, ki je kodirana v Shift-JIS, in jo poskušal odpreti z arabskim (Windows) kodiranjem v brskalniku, in ugotovil sem, da arabščina (Windows) ali zahodno kodiranje ima enako preslikavo za �� in �� (kar je še en pogost znak v popačenem besedilu).

Po primerjavi s pravilno upodobljenim oknom stanja lokacije in nekaj ugibanj mi je uspelo dekodirati popačeno besedilo v pravilno japonsko besedilo (oklepaja in sta dodana zaradi jasnosti in ne dekodirana iz popačenega besedila):

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

Prevod:

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

Dodatek

Za navzkrižno preverjanje rezultata lahko uporabite naslednji del kode 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')) 

Spodaj je samo za ogled vir1 mojibake za primerjavo s sliko:

1 Spodnje besedilo vsebuje oznako U + 200E od leve proti desni, ki arabskim znakom preprečuje upodabljanje od desne proti levi in ​​spreminjanje njihovih oblik glede na njihov položaj. Druga težava, ki preprečuje neposredno kopiranje, je posledica prisotnosti prostora za presledke U + 00A0 No-Break, ki se ob kopiranju iz brskalnika pretvori v prostor.

�����T��������[��������o��������[��� ���������������T��������[��������o��������[��� �����]��������[�������������� ���������������T��������[��������o��������[��� ���������������������� ��������������������������]��������[��������������/������������������������������X��������^��������[��������o����������������������������������� ��������������������������������� ��������������������������s������������������������������\������������������������ �����@���������S��������������������Z��������g���������p��������������������\��� �����@��������i�������������������������������������/��������������������������������������������� �����@�������������������o��������������������������/��������������������������������������������� 
1
  • "Dovoljen PvP": Huh. Sprašujem se, ali bo to na koncu pomembno.