Base 64解码在C中返回NULL
Base 64 decode returning NULL in C
我有一个要解码的 base 64 编码字符串。
它看起来像这样:
VGhpcyBpcyBhIGZpbGUgdGhhdCBJIHdhbnQgdG8gZGVjb2Rl
当我这样做时..
gsize *out_len;
unsigned const char *decoded;
decoded = g_base_64_decode(myString, out_len);
并打印出我的解码字符串,我也得到 NULL,我得到断言:
'out_len != NULL' Glib
失败
为什么会这样?如何使用此函数正确解码我的字符串? https://developer.gnome.org/glib/stable/glib-Base64-Encoding.html#g-base64-decode-step
out_len
参数是一个输出参数。这意味着您通常会像这样在堆栈上创建类型为 gsize
的 out_len
变量:
gsize out_len;
然后你调用函数传递一个指针到上述变量(即你传递的地址:&out_len
), 例如:
decoded = g_base_64_decode(myString, &out_len);
我有一个要解码的 base 64 编码字符串。 它看起来像这样:
VGhpcyBpcyBhIGZpbGUgdGhhdCBJIHdhbnQgdG8gZGVjb2Rl
当我这样做时..
gsize *out_len;
unsigned const char *decoded;
decoded = g_base_64_decode(myString, out_len);
并打印出我的解码字符串,我也得到 NULL,我得到断言: 'out_len != NULL' Glib
失败为什么会这样?如何使用此函数正确解码我的字符串? https://developer.gnome.org/glib/stable/glib-Base64-Encoding.html#g-base64-decode-step
out_len
参数是一个输出参数。这意味着您通常会像这样在堆栈上创建类型为 gsize
的 out_len
变量:
gsize out_len;
然后你调用函数传递一个指针到上述变量(即你传递的地址:&out_len
), 例如:
decoded = g_base_64_decode(myString, &out_len);