Конвертировать BLOB в массив

Я установил плагин Minecraft Bukkit, который сохраняет списки игроков, использующих MySQL.

Таблица выглядит так:

Моя проблема в том, что я хочу отображать элементы на веб-сайте, но есть эти форматы «BLOB».
Я думаю, они должны быть идентификаторами блоков (я нашел только методы для преобразования «BLOB» в img).

«Blob’s» имеют следующий формат:

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

Когда я пытаюсь отобразить его на сайте с этим кодом:

$conn = new mysqli("$host", "$user", "$pass", "auction");
$sql = "SELECT content FROM inventory";
$result = $conn->query($sql);

while($row = $result->fetch_assoc()) {
echo base64_encode($row["content"]);
}

Решение выглядит как следующая строка:

H4sIAAAAAAAAAIuuViqpLEhVslJy9vcNcAwOVqrVgQs5egaNckc2NxYAYPN3OyECAAA=

2

Решение

Я помню, что у блоков были идентификаторы с номерами от 0 до 255. Если они не расширили его, это означало бы, что каждый байт представляет блок.

Вам нужно будет прочитать данные, побайтно и преобразовать каждый байт в число, представляющее идентификатор блока. Как только вы это сделаете, вам нужно будет только отобразить соответствующую картинку на основе этого идентификатора.

В случае, когда они фактически расширили систему идентификаторов до двух байтов, вам придется конвертировать каждые два байта в число от 0 до 65535.

Обновить:

Этот вопрос описывает, как читать двоичные данные с помощью PHP. После того, как вы преобразовали его в байтовый массив, вам нужно будет только привести каждый байт к типу int.

0

Другие решения

Теперь я знаю, что происходит с этой странной строкой.
Minecraft использует «NBT Decoding».
Кто-нибудь здесь знает, как я могу декодировать / кодировать с помощью nbt?
поздравил

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector