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é.