gpt4 book ai didi

c++ - 从 UTF-8 到 UTF-16 Big endian 的字符串转换失败(使用 C、C++ 语言)

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:52 25 4
gpt4 key购买 nike

我正在使用 g_convert() glib 函数将 utf-8 字符串转换为 utf-16 大端字符串。转换失败。我们收到一条错误消息,提示“不支持转换”

有人可以提供解决此问题的线索吗。

谢谢

以下是用于将字符串从 UTF-8 转换的代码段。到UTF16 Bigendian

unsigned short *result_str;

gsize bytes_read, bytes_written;

gssize len = 0;

GError *error = NULL;

result_str = (unsigned short *)g_convert("text data", len, "UTF-16BE", "UTF-8", &bytes_read, &bytes_written, &error);

最佳答案

你的 len 是 0。GLib manual表示对于以 NULL 结尾的字符串,len 必须为 -1。

关于c++ - 从 UTF-8 到 UTF-16 Big endian 的字符串转换失败(使用 C、C++ 语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4140282/

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