gpt4 book ai didi

image - 如何解码base64 fbx嵌入图像

转载 作者:行者123 更新时间:2023-12-02 00:54:20 26 4
gpt4 key购买 nike

我有一个带有嵌入图像内容的 FBX。图片采用 Base64 格式。我读取了 block 并成功解码。当图像变大时,问题就来了。 FBX 将图像分成 2 行,看起来像 base64,但我不知道应该如何解码它。

  1. 我尝试在 base64 中解码这两行并在解压缩 png 之前将它们连接起来,但是 png 已损坏。
  2. 我尝试连接 Base64 字符串,但它不起作用,因为这样结尾的 = trail 是错误的。
  3. 我尝试首先解压缩第一行(正确的 png 但只有图像的一半)并将第二行解压缩为位图,但由于第二行没有标题是无效图像。

Content: , "iVBORw0KGgoAAAANSUhEUg...AAAAA=", "AAAAAAAAAAAAAAAAAA...AD//wEAAP///noceab5flIAAAAASUVORK5CYII="

如您所见,第一行是 PNG header (iVBOR...),但第二行没有 header 。第一行和第二行以base64结尾,所以我怀疑它们应该分开解码。

有人知道怎么做吗?

如何复制:打开 3ds max 创建一个平面,将图像应用为纹理,使用嵌入媒体保存为 ascii FBX。

PNG with enough size to be split

最佳答案

我下载并安装了最新版本的 3ds max。我创建了一个平面并添加了一个 PNG 图像作为纹理,我使用嵌入式媒体将其导出为(默认版本)ascii 格式的 fbx 文件。

我看到多行 base64 编码的 ascii。第一行包含一个 PNG header ,我的解码器将其识别为 PNG 文件。随后的行不包含 PNG header ,并被解码为 BIN 文件。所有这些都与您描述的完全一样。

但是,在我的例子中,正如您所期望的那样,只需正确连接解码后的片段即可重新生成原始 PNG 文件。

我用了this站点解码所有单独的 block 并在连接它们之前将它们下载为二进制文件。

我使用了开源二进制编辑器HexEdit检查 block 并将它们连接起来。

由于此过程按预期进行,我推测您的 Base64 解码或连接一定有问题。您是否编写了自己的解码例程?如果是这样,也许您忘记丢弃与填充字符对应的任何字节(终端 === 用于使每行的最终字节数可被三整除).请注意,这些字节必须在解码之后丢弃,而不是之前。几乎所有解码库都会在不可见的情况下为您完成这项工作。

如果这不能解决您的问题,请发布您正在使用的 PNG 文件、输出的第一行和第二行的完整 Base64,以及您用来解码和连接它们的例程。如果您这样做,我们会更仔细地查看以帮助您解决问题。

关于image - 如何解码base64 fbx嵌入图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55588449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com