几个多字节和UNICODE及UTF-8之间相互转化的函数

157 篇文章 ¥9.90 ¥99.00
这篇博客分享了在VC++开发中进行多字节、UNICODE和UTF-8之间转换的几个自编函数,包括TCHAR与CHAR的转化、TCHAR到多字节的转换以及UTF-8与多字节、宽字节的互转,强调了转换过程中 dest 指针的内存管理。提供了方便不同编码间转换的基础函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做vc++开发免不了多字节UNICODE、UTF-8转来转去,下面贴出我写的几个字符转化函数

 1、 TCHAR  和CHAR转化, TCHAR 对应UNICODE和多字节下分别是WCHAR 和CHAR 函数如下:

  需要注意*dest是new出来的需要释放

//char 字符串转化为tchar字符串
void C2T(TCHAR** dest, const char* src)
{
#ifdef _UNICODE
    if (src == NULL)
    {
        return ;
    }

    size_t alen = strlen(src) + 1;
    size_t  ulen = (size_t)MultiByteToWideChar(CP_ACP, 0, src,alen,NULL, 0 )+1;

    *dest = new WCHAR[ulen];
    ::MultiByteToWideChar(CP_ACP, 0, src, alen, *dest, ulen);
#else 
    //多字节TCHAR就是 char 
    int len = strlen(src)+1;
    *dest = new char[len];
    strcpy(*dest, src);
#endif
}

2、TCHAR转化为多字节,同样要注意*dest指针释放

void T2C(char** dest, const TCHAR* src)
{
    if(src == NULL)
      
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毛毛虫的爹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值