@lolrofl01

Как раскодировать строку из hex? Кто сталкивался с таким?

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

Вот как выглядит тайтл статьи:
0xd091d183d0bad0bcd0b5d0bad0b5d180d181d0bad0b8d0b520d0bad0bed0bdd182d0bed180d18b20d0b820d181d182d0b0d0b2d0bad0b820d0bdd0b020d181d0bfd0bed180d182


Прикладываю фото json файла со всем этим.

Вопрос, как мне этот хеш превратить в нормальный русский язык?)

605e4a2c116b1642388318.png
  • Вопрос задан
  • 1028 просмотров
Решения вопроса 1
@lolrofl01 Автор вопроса
Кароче, разобрался, отчасти благодаря ответу galaxy (чувак ниже), но из-за того, что он не сказал главного, отмечу именно свой ответ как решение.

Хеш этот действительно от hex. И действительно он преобразуется с помощью функции hex2bin().
НО!
Почему-то хешируется так, что первые 2 символа лишние: "0x". Их нужно убрать. Пока их не уберешь, функция не будет работать, она будет выдавать ошибку: "Input string must be hexadecimal string".

Поэтому делаем так:
$s = "0xd091d183d0bad0bcd0b5d0bad0b5d180d181d0bad0b8d0b520d0bad0bed0bdd182d0bed180d18b20d0b820d181d182d0b0d0b2d0bad0b820d0bdd0b020d181d0bfd0bed180d182";
$s = substr($s, 2, strlen($s));
$s = hex2bin($s);


В таком случае работать будет. Еще раз поясню, что мы удаляем первые 2 символа: "0х".
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@galaxy
Это не хеш, а обычный текст в UTF-8, закодированный в hex.

print hex2bin("d091d183d0bad0bcd0b5d0bad0b5d180d181d0bad0b8d0b520d0bad0bed0bdd182d0bed180d18b20d0b820d181d182d0b0d0b2d0bad0b820d0bdd0b020d181d0bfd0bed180d182");

# Букмекерские конторы и ставки на спорт
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы