Как получить тип кодировки символов файла JSON?

Я пытаюсь получить тип кодировки символов строки json из jsoncpp: UTF-8, ANSI или UNICODE? Как получить тип кодировки символов json::value? Спасибо заранее!

2 ответа

Любая строка - это просто последовательность байтов, соответствующая, может быть, некоторым базовым правилам (нулевые терминаторы, запрещенные символы для json и т. Д.). Не существует волшебного способа определить, какая кодировка использовалась для формирования строки, потому что кодировка - это просто способ представления строковых двоичных данных. Поэтому кодировка строки json должна быть либо указана издателем json (возможно, в документации), либо информация о нем должна быть частью json (если по какой-то причине разные строки имеют разную кодировку).

Определение кодировки символов строки довольно сложно. Смотрите этот SO ответ для выбора правильного приложения.

Apache Tika - инструментарий анализа контента, возможно, один из самых передовых, согласно следующей цитате:

Набор инструментов Apache Tika™ обнаруживает и извлекает метаданные и текст из более чем тысячи различных типов файлов (таких как PPT, XLS и PDF). Все эти типы файлов могут быть проанализированы через единый интерфейс, что делает Tika полезной для индексации поисковой системы, анализа контента, перевода и многого другого. Вы можете найти последнюю версию на странице загрузки.

Анализ строки JSON может быть выполнен с каждой из этих библиотек, что дает (вероятный) CharSet, пригодный для дальнейшей обработки.

Другие вопросы по тегам