Windows 10 Insider Preview Build 18875 (20H1)
Trong tập 9 của mùa thứ hai của Log Horizon, khi ...
Shiroe đã chết và xuất hiện trên máy chủ thứ 14 không chính thức của Elder Tale, máy chủ thử nghiệm, được đặt trên Mặt trăng thay vì ở Trái đất,
... anh ấy đã kiểm tra vị trí và hộp thoại gần như bị cắt xén, được lưu cho tên vị trí Mare Tranquillitatis.
Văn bản bị cắt xén có thể được giải mã hay chỉ đơn giản là rác?
Đúng, văn bản bị cắt xén là kết quả của mojibake, trong đó văn bản gốc bằng tiếng Nhật, được mã hóa bằng mã hóa Shift-JIS, được giải mã bằng mã hóa Windows-1256.
Nếu bạn từng mở một trang web tiếng Nhật hoặc tệp văn bản được mã hóa bằng mã hóa Shift-JIS (bộ ký tự 2 byte) theo một số mã hóa phương Tây trong Windows (bộ ký tự 1 byte), bạn sẽ thấy tần suất cao của ��
được ghép nối với một số ký tự khác trong chế độ xem kết quả. Vì tôi quan sát thấy có các ký tự tiếng Ả Rập trong hình ảnh, tôi đã sử dụng một trong các tệp văn bản hiện có của mình được mã hóa bằng Shift-JIS và thử mở nó bằng mã hóa tiếng Ả Rập (Windows) trong trình duyệt và tôi phát hiện ra rằng tiếng Ả Rập (Windows) hoặc mã hóa phương Tây có cùng một ánh xạ cho ��
và ��
(là một ký tự phổ biến khác trong văn bản bị cắt xén).
Sau khi so sánh với cửa sổ trạng thái vị trí được hiển thị chính xác và một số phỏng đoán, tôi đã cố gắng giải mã văn bản bị cắt xén thành văn bản tiếng Nhật thích hợp (các dấu ngoặc và được thêm vào để rõ ràng và không được giải mã từ văn bản bị cắt xén):
������������������ ��������������� ��������������� ��������������� ������������ ���������������/��������������������������� ��������������� ������������������������ ������������������������ ���������������/������������ ���������������/������������
Dịch:
Moon Server Moon Server Isolated zone/No monster PVP allowed Special skills allowed Entry restriction/Restricted Exit restriction/Restricted
ruột thừa
Để kiểm tra chéo kết quả, bạn có thể sử dụng đoạn mã Python 3 sau:
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'))
Dưới đây là Chỉ xem nguồn1 của mojibake để so sánh với hình ảnh:
1 Văn bản dưới đây chứa U + 200E Dấu từ trái sang phải để ngăn các ký tự Ả Rập hiển thị từ phải sang trái và thay đổi hình dạng của chúng dựa trên vị trí của chúng. Một vấn đề khác ngăn cản việc sao chép thẳng là do sự hiện diện của U + 00A0 No-Break Space, được chuyển đổi thành khoảng trắng khi sao chép từ trình duyệt.
�����T��������[��������o��������[��� ���������������T��������[��������o��������[��� �����]��������[�������������� ���������������T��������[��������o��������[��� ���������������������� ��������������������������]��������[��������������/������������������������������X��������^��������[��������o����������������������������������� ��������������������������������� ��������������������������s������������������������������\������������������������ �����@���������S��������������������Z��������g���������p��������������������\��� �����@��������i�������������������������������������/��������������������������������������������� �����@�������������������o��������������������������/���������������������������������������������
1 - "PvP được phép": Hả. Tự hỏi liệu điều đó có trở nên quan trọng không.