有两种简单的方法可以解码 Base64 字符串(在 C# 中)。我想收集 json 以形成 gltf,并将我的坐标和顶点位置编码到缓冲区中。为此,我试图了解它的默认工作原理。本教程解释了一个原始三角形 - 3 个坐标。要创建您自己的 Base64 字符串,您需要了解该原语是如何获取它的。我尝试解码,但没有成功。问题是如何获取 uri 属性中的字符串:
"buffers" : [
{
"uri" : "data:application/octet-stream;base64,AAABAAIAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAA=",
"byteLength" : 44
}
],
如果您解码 Base64 并试探性地以十六进制格式查看此数组,您将看到以下内容:
这里的组合引起了人们的注意,
0000803F
因为它1
位于float
. 如果你想象在数组的末尾有3个三维向量,那么它们就可以被解码。但数组的前 8 个字节是什么却是个谜。如果不知道到底有什么,也不查看数据存储规范,破译它是有问题的。这是帮助您入门的代码
这是控制台输出
但我会从研究 glTF规范开始。可能它包含了这个问题的答案:数组的前 8 个字节中有哪些数字以及数据的格式是什么。