Как декодировать текстовый файл с такими символами, как \ uXXXX?

1081
LA_

У меня есть файл размером 10 Мб, содержащий \uXXXXсимволы. Как я могу расшифровать это с помощью Sublime Text?

Пример:
enter image description here

1
Вы должны указать ссылку на файл или его сокращенную форму на http://ge.tt, потому что неясно, о чем вы говорите. barlop 9 лет назад 0
@ barlop, вот пример - http://pastebin.com/GT6Wtx6z LA_ 9 лет назад 0

1 ответ на вопрос

1
MattDMo

Есть несколько вещей, которые вы можете попробовать. Прежде всего, вам нужно использовать шрифт Unicode, который поддерживает символы, которые вы хотите отобразить. Этот сайт на unicode.org является хорошим ресурсом, и Google, как всегда, весьма полезен. Если вы не возражаете против использования немонокального шрифта, Arial Unicode MS поставляется с Windows и имеет довольно хороший охват. Я считаю, что моноширинный шрифт Consolas делает то же самое.

Во-вторых, ваша операционная система должна быть настроена на отображение этих символов - большинство современных есть, но вы можете столкнуться с проблемами с некоторыми версиями и настройками Windows.

В Sublime убедитесь, что вы просматриваете файл в правильном режиме - попробуйте File -> Reopen with Encoding -> UTF-8или ... -> UTF-16LE(или BEвы можете попробовать оба).

Так что, не зная точного содержимого вашего файла, как он был сгенерирован и больше информации о вашей системе, это лучшее, что я могу сделать. Удачи!


РЕДАКТИРОВАТЬ

Основываясь на файле, который вы связали, похоже, что это результат работы программы на Python 2, так как данные выглядят как списки, содержащие строки в юникоде (я программист на Python, как это и происходит). Я посмотрел пару упомянутых кодовых точек, и все они кириллические, поэтому любой современный шрифт должен их обрабатывать. Проблема в том, что вам понадобится программа для чтения в файле и перевода отдельных байтов. Если вам интересно, первая полная строка (от 'до '):

Любимая акция вернулась! В ресторанах Евразия "" 3 ролла по цене 1 ""! С 9 по 12 сентября! Только эти 4 дня! Подробности на evrasia.spb.ru, 88005050145 и 008

Не имея всего файла, я не могу разобрать все это за вас, но если вы программист на Python, вы должны знать, что делать (я бы рекомендовал использовать Python 3, его поддержка Unicode намного лучше, чем 2.x ). Если нет, найдите человека, который сгенерировал файл, и попросите его расшифровать байты для вас.

Спасибо за Ваш ответ. Я использую последнюю версию OSX, и нет проблем с отображением символов Unicode. Я добавил пример файла в комментарии к моему вопросу. LA_ 9 лет назад 0
@LA_ спасибо за ссылку, которая решила проблему. Смотрите мои изменения выше, чтобы узнать, что делать. MattDMo 9 лет назад 0
Благодарю. Я человек, который сгенерировал файл (= он был массово загружен из Google App Engine), я уже нашел способ, как декодировать его с помощью Python. Но все же мне интересно, могу ли я сделать то же самое с Sublime (или со встроенной консолью Python). LA_ 9 лет назад 0
@LA_ Sublime Text 3 построен поверх Python 3.3, поэтому все, что вам нужно сделать, это вставить каждую строку в консоль, и она отобразит правильную кодировку. Тем не менее, это не реально для файла размером 10 МБ, поэтому плагин будет работать лучше. MattDMo 9 лет назад 0
я не могу получить доступ к тексту открытого файла из консоли? LA_ 9 лет назад 0
@LA_ да, ты можешь. [Здесь] (http://www.sublimetext.com/docs/3/api_reference.html) - это API-интерфейс ST3 для вашего прочтения. Причина, по которой я предложил плагин, состоит в том, что есть некоторые вещи, которые вы не можете сделать в консоли, такие как `for` /` if` / `while`, циклы, объявления функций и т. Д. - в основном все, что вы не можете сделать на одном линия. MattDMo 9 лет назад 0
Благодарю. Я просто не нашел плагин, который может сделать необходимое преобразование. LA_ 9 лет назад 0
@LA_, так как это случай для пользовательского анализа ввода, я сомневаюсь, что вы найдете готовый плагин для него. Однако, поскольку вы уже нашли решение Python для перевода файла, его реализация в Sublime должна быть тривиальной. MattDMo 9 лет назад 0

Похожие вопросы