单片机GB2312与UTF-8互转

环境:

硬件:STM32F407
软件:KEIL5

描述:

UTF-8与GB2312编码互转

下载地址:

CSDN下载链接

GITEE下载链接

使用说明:

1. 将代码文件复制到工程

2. UTF-8转GB2312示例

#include <stdio.h>
#include <string.h>
#include "utf8_gb2312_switch.h"

//"你好123ABC世界!
char utf8Data[256] = {0xE4,0xBD,0xA0,0xE5,0xA5,0xBD,0x31,0x32,0x33,0x41,0x42,0x43,0xE4,0xB8,0x96,0xE7,0x95,0x8C,0xEF,0xBC,0x81}; 
char gb2312Data[256] = {0};

size_t gb2312DataLen = utf8_to_gb2312((uint8_t *)utf8Data, strlen(utf8Data), (uint8_t *)gb2312Data, sizeof(gb2312Data));
for(int i=0;i<gb2312DataLen;i++)
{
  printf("0x%02X ", gb2312Data[i]);
}
printf("\r\n");

结果如下:

0xC4 0xE3 0xBA 0xC3 0x31 0x32 0x33 0x41 0x42 0x43 0xCA 0xC0 0xBD 0xE7 0xA3 0xA1

3. GB2312转UTF-8示例

#include <stdio.h>
#include <string.h>
#include "utf8_gb2312_switch.h"

//"你好123ABC世界!"
char gb2312Data[256] = {0xC4,0xE3,0xBA,0xC3,0x31,0x32,0x33,0x41,0x42,0x43,0xCA,0xC0,0xBD,0xE7,0xA3,0xA1};
char utf8Data[256] = {0};

size_t utf8DataLen = gb2312_to_utf8((uint8_t *)gb2312Data, strlen(gb2312Data), (uint8_t *)utf8Data, sizeof(utf8Data));
for(int i=0;i<utf8DataLen;i++)
{
  printf("0x%02X ", utf8Data[i]);
}
printf("\r\n");

结果如下:

0xE4 0xBD 0xA0 0xE5 0xA5 0xBD 0x31 0x32 0x33 0x41 0x42 0x43 0xE4 0xB8 0x96 0xE7 0x95 0x8C 0xEF 0xBC 0x81

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值