如何在c中将unicode代码点转换为utf-8?
发布时间:2020-12-16 10:25:27 所属栏目:百科 来源:网络整理
导读:我有一个由unicode代码点组成的数组 unsigned short array[3]={0x20ac,0x20ab,0x20ac}; 我只是希望将其转换为utf-8,使用C逐字节写入文件. 例: 0x20ac应转换为e2 82 ac. 或者是否有任何其他方法可以直接在文件中写入unicode字符. 解决方法 最后!用C 11! #i
我有一个由unicode代码点组成的数组
unsigned short array[3]={0x20ac,0x20ab,0x20ac}; 我只是希望将其转换为utf-8,使用C逐字节写入文件. 例: 或者是否有任何其他方法可以直接在文件中写入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 == "xe2x82xac"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |