加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在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逐字节写入文件.

例:
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 == "xe2x82xac");
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读