将blob转换为数组

时间:2014-12-25 11:43:08

标签: php blob minecraft bukkit

我安装了一个Minecraft Bukkit插件,可以使用MySQL节省玩家的库存。

表格如下:

我的问题是我想在网站上显示这些项目,但有这些“BLOB”格式。 我认为,它们应该是块ID(我只找到将“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 :(得分:0)

我记得块的id为0到255之间的数字。如果它们没有扩展它,那就意味着每个字节代表一个块。

您需要逐字节读取数据并将每个字节转换为数字,表示块ID。完成后,您只需根据该ID显示相应的图片。

如果他们实际将id系统扩展为两个字节,则必须将每两个字节转换为0到65535之间的数字。

<强>更新

This Question描述了如何使用PHP读取二进制数据。将它转换为字节数组后,您只需将每个字节强制转换为int。

答案 1 :(得分:0)

我现在知道了,这个奇怪的字符串是怎么回事。 Minecraft使用“NBT解码”。 有谁知道,我怎么能用nbt解码/编码? 招呼