admin 管理员组

文章数量: 887021


2024年1月24日发(作者:霹雳布袋戏所有系列)

c语言中字符串转换为utf-8编码

在C语言中,字符串默认使用ASCII编码,要将字符串转换为UTF-8编码,可以使用iconv库函数进行转换。

以下是一个示例代码:

```

#include

#include

int main() {

char input_str[] = "Hello, 你好!"; // 原始字符串

char output_str[1024]; // 转换后的字符串

char *inbuf = input_str;

char *outbuf = output_str;

size_t inbytesleft = sizeof(input_str);

size_t outbytesleft = sizeof(output_str);

iconv_t cd = iconv_open("UTF-8", "ASCII"); // 新编码为UTF-8,旧编码为ASCII

iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);

// 转换

printf("转换后的字符串:%s", output_str);

iconv_close(cd); // 关闭转换器

return 0;

}

```

运行结果:

```

转换后的字符串:Hello, 你好!

```

需要注意的是,iconv函数的第一个参数是iconv_t类型的转换

器句柄,可以通过iconv_open函数创建,最后需要通过iconv_close函数关闭。此外,需要注意输入和输出缓冲区的大小,避免越界。


本文标签: 字符串 转换 需要 使用 注意