Anonim

Windows 10 Insider Preview Build 18875 (20H1)

V epizodě 9 druhé sezóny Log Horizon, když ...

Shiroe zemřel a objevil se na neoficiálním 14. serveru Elder Tale, testovacím serveru, který byl nastaven na Měsíc místo na Zemi,

... zkontroloval umístění a dialog byl většinou zkomolený, uložený pro název místa Mare Tranquillitatis.

Lze dešifrovat zkomolený text, nebo jde jednoduše o smetí?

Ano, zkomolený text je výsledkem mojibake, kde je původní text v japonštině, kódovaný v kódování Shift-JIS, dekódován kódováním Windows-1256.

Pokud jste někdy otevřeli japonskou webovou stránku nebo textový soubor kódovaný v kódování Shift-JIS (dvoubajtová znaková sada) v rámci nějakého západního kódování v systému Windows (1bajtová znaková sada), uvidíte vysokou frekvenci �� ve výsledném zobrazení spárován s nějakou jinou postavou. Protože pozoruji, že na obrázku jsou arabské znaky, použil jsem jeden ze svých stávajících textových souborů, které jsou zakódovány v Shift-JIS, a pokusil jsem se je otevřít pomocí kódování arabštiny (Windows) v prohlížeči, a zjistil jsem, že arabština (Windows) nebo Westernové kódování má stejné mapování pro �� a �� (což je další běžný znak v komprimovaném textu).

Po srovnání se správně vykresleným stavovým oknem umístění a nějakými dohady se mi podařilo dekódovat zkreslený text do správného japonského textu (závorky a jsou přidány kvůli jasnosti a nejsou dekódovány z kaskádového textu):

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

Překlad:

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

slepé střevo

Chcete-li výsledek zkontrolovat, můžete použít následující část kódu Pythonu 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')) 

Níže je pouze k zobrazení zdroj1 mojibake pro srovnání s obrázkem:

1 Níže uvedený text obsahuje značku Z + 200E zleva doprava, aby se zabránilo arabským znakům vykreslování zprava doleva a změna jejich tvarů na základě jejich polohy. Dalším problémem, který brání přímému kopírování, je přítomnost prostoru bez přestávky U + 00A0, který se při kopírování z prohlížeče převede na prostor.

�����T��������[��������o��������[��� ���������������T��������[��������o��������[��� �����]��������[�������������� ���������������T��������[��������o��������[��� ���������������������� ��������������������������]��������[��������������/������������������������������X��������^��������[��������o����������������������������������� ��������������������������������� ��������������������������s������������������������������\������������������������ �����@���������S��������������������Z��������g���������p��������������������\��� �����@��������i�������������������������������������/��������������������������������������������� �����@�������������������o��������������������������/��������������������������������������������� 
1
  • "PvP povoleno": Huh. Zajímalo by mě, jestli to nakonec bude důležité.