如何使用_wcstombs_l函数将UNICODE字符串转换为UTF-8?我想我需要传入一个UTF-8 _locale_t,但我不知道如何创建这种类型的变量。
答案 0 :(得分:1)
你不能 - UTF-8实际上不是ANSI代码页,没有使用它的语言环境。请改用WideCharToMultiByte(CP_UTF8, ...)
。
您应该使用_locale_t
函数为_wcstombs_l
创建_create_locale
参数。 Its documentation州,我引用:
locale 参数可以采用区域设置名称,语言字符串,语言字符串和国家/地区代码,代码页或语言字符串,国家/地区代码和代码页。可用区域设置名称,语言,国家/地区代码和代码页的集合包括Windows NLS API支持的所有内容,但每个字符需要两个以上字节的代码页除外 - 例如,UTF-7和 UTF-8 即可。如果您提供的代码页如UTF-7或 UTF-8 ,
_create_locale
将失败并返回NULL
。
强调我的。