当前位置: 首页 > article >正文

C++ 字符串编码转换

UTF8 的string 转  UTF16 的 wstring

std::wstring Utf8ToUtf16(const std::string& utf8Str) {
    // 获取 UTF-16 字符串所需的缓冲区大小
    int wstrLength = MultiByteToWideChar(CP_UTF8, 0, utf8Str.c_str(), -1, NULL, 0);

    if (wstrLength == 0) {
        // 处理错误 
        return L"";
    }

    // 分配缓冲区并执行转换
    std::wstring utf16Str(wstrLength, L'\0');
    MultiByteToWideChar(CP_UTF8, 0, utf8Str.c_str(), -1, &utf16Str[0], wstrLength);

    return utf16Str;
}

char* AnsiToUtf8(const char* ansiStr) {
    // 计算需要的缓冲区大小
    int utf8Size = MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, NULL, 0);
    wchar_t* utf16Str = (wchar


http://www.kler.cn/a/538436.html

相关文章:

  • 线程上下文-ThreadLocal原理
  • 基于SpringBoot的线上历史馆藏管理系统
  • sklearn基础教程
  • DeepSeek-r1和O1、O3mini谁更强?
  • Redis的数据过期策略和数据淘汰策略
  • NGINX-RTMP 框架详解及与SRS对比
  • kafka生产者之发送模式与ACK
  • 【漫话机器学习系列】084.偏差和方差的权衡(Bias-Variance Tradeoff)
  • 人工智能入门 数学基础 线性代数 笔记
  • 6.Python函数:函数定义、函数的类型、函数参数、函数返回值、函数嵌套、局部变量、全局变量、递归函数、匿名函数
  • 【专题】2025年我国机器人产业发展形势展望:人形机器人量产及商业化关键挑战报告汇总PDF洞察(附原数据表)
  • 基于大语言模型的自然语言研究
  • 【python】matplotlib(animation)
  • LLM:DeepSeek 系列(一)
  • 基于Flask的当当网畅销图书榜单可视化分析系统的设计与实现
  • 国产编辑器EverEdit - 查找功能详解
  • 【手写公式识别】MEMix: Improving HMER with Diverse Formula Structure Augmentation 论文阅读
  • Java Stream API:高效数据处理的利器引言
  • 虚拟局域网之详解(Detailed Explanation of Virtual Local Area Network)
  • Docker 常见问题解决方法
  • Docker-compose 编排lnmp(dockerfile) 完成Wordpress
  • 人工智能图像分割之Mask2former源码解读
  • java-list源码分析
  • LVGL4种输入设备详解(触摸、键盘、实体按键、编码器)
  • 微信小程序地图开发总结-规划路线
  • RocketMQ实战—7.生产集群部署和生产参数