加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
textcodec.h 2.35 KB
一键复制 编辑 原始数据 按行查看 历史
觉皇 提交于 2022-12-07 20:53 . 首次提交
/*
* textcodec.h
*
* Created on: 2022年12月7日
* Author: lakun@qq.com
*/
#ifndef TEXTCODEC_H_
#define TEXTCODEC_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
/**
* 十六进制面值转字符串,例:{0XAA,0XBB,0XCC} -> "AABBCC"
* @param from 待转换的十六进制数据
* @param fromSize 待转换的十六进制数据大小
* @param to 存放转换的字符串
* @param toSize 存放转换的字符串的大小
*/
void HexToStr(const uint8_t* from, uint32_t fromSize, char* to, uint32_t* toSize);
/**
* 十六进制字符串转数值,例:"AABBCC" -> {0XCC,0XBB,0XAA}
* @param from 待转换的十六进制字符串
* @param fromSize 字符串长度
* @param to 存放字符串的十六进制值
* @param toSize 存放字符串的十六进制值的大小
*/
void StrToHex(const char* from, uint32_t fromSize, uint8_t* to, uint32_t* toSize);
/**
* @brief GBK码转UTF8码
* @param from GBK码
* @param fromSize GBK码的大小
* @param to UTF8码
* @param toSize UTF8码的大小
*/
void GBKToUTF8(const uint8_t* from, uint32_t fromSize, uint8_t* to, uint32_t* toSize);
/**
* @brief UTF8码转GBK码
* @param from UTF8码
* @param fromSize UTF8码的大小
* @param to GBK码
* @param toSize GBK码大小
*/
void UTF8ToGBK(const uint8_t* from, uint32_t fromSize, uint8_t* to, uint32_t* toSize);
/**
* @brief GBK码转双字节UNICODE码
* @param from GBK码
* @param fromSize GBK码大小
* @param to UNICODE码
* @param toSize UNICODE码大小
*/
void GBKToUnicode(const uint8_t* from, uint32_t fromSize, uint8_t* to, uint32_t* toSize);
/**
* @brief 双字节UNICODE码转GBK码
* @param from 双字节UNICODE码
* @param fromSize UNICODE码大小
* @param to GBK码
* @param toSize GBK码大小
*/
void UnicodeToGBK(const uint8_t* from, uint32_t fromSize, uint8_t* to, uint32_t* toSize);
/**
* @brief 三字节UTF8码转双字节UNICODE码
* @param from UTF8码
* @param fromSize UTF8码大小
* @param to GBK码
* @param toSize GBK码大小
*/
void UTF8ToUnicode(const uint8_t* from, uint32_t fromSize, uint8_t* to, uint32_t* toSize);
/**
* @brief 双字节UNICODE码转三字节UTF8码
* @param from
* @param fromSize
* @param to
* @param toSize
*/
void UnicodeToUTF8(const uint8_t* from, uint32_t fromSize, uint8_t* to, uint32_t* toSize);
#ifdef __cplusplus
}
#endif
#endif /* TEXTCODEC_H_ */
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化