如何在c中将unicode代码点转换为utf-8?

如何在c中将unicode代码点转换为utf-8?,第1张

概述我有一个由unicode代码点组成的数组 unsigned short array[3]={0x20ac,0x20ab,0x20ac}; 我只是希望将其转换为utf-8,使用C逐字节写入文件. 例: 0x20ac应转换为e2 82 ac. 或者是否有任何其他方法可以直接在文件中写入unicode字符. 最后!用C 11! #include <string>#include <locale>#i 我有一个由unicode代码点组成的数组

unsigned short array[3]={0x20ac,0x20ab,0x20ac};

我只是希望将其转换为utf-8,使用C逐字节写入文件.

例:
0x20ac应转换为e2 82 ac.

或者是否有任何其他方法可以直接在文件中写入unicode字符.

解决方法 最后!用C 11!

#include <string>#include <locale>#include <codecvt>#include <cassert>int main(){    std::wstring_convert<std::codecvt_utf8<char32_t>,char32_t> converter;    std::string u8str = converter.to_bytes(0x20ac);    assert(u8str == "\xe2\x82\xac");}
总结

以上是内存溢出为你收集整理的如何在c中将unicode代码点转换为utf-8?全部内容,希望文章能够帮你解决如何在c中将unicode代码点转换为utf-8?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1220060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存