VC++下 汉字GBK转UNICODE和UTF-8 原理实现

该博客介绍了如何在VC++环境下使用GBK和UNICODE互转对照表文件,实现汉字从GBK到UNICODE以及UTF-8的转换。作者提到在UNICODE环境中,键盘输入为宽字符UNICODE码,可以通过代码实现与GBK的相互转换。工程代码中依赖一个名为UNIGBK.BIN的二进制文件,包含转换所需的对照表。
摘要由CSDN通过智能技术生成

分享一个读取GBK和UNICODE互转对照表文件形式,来实现汉字GBK转UNICODE和UTF-8 ;

VS下配置为UNICODE环境了,这样键盘输入的直接是宽字符UNICODE码,也可以用多字节方式,键盘输入的GBK吗,反正是相互转换,大同小异了;

主函数里插入

setlocale(LC_ALL, "chs");

本工程用到了一个UNIGBK.BIN的二进制文件,里面是GBK和UNICODE互转对照表,一会把这个文件的链接发上来;

以下是工程全部的代码;

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include "Windows.h"
#include <locale.h>

typedef unsigned          char uint8_t;
typedef unsigned short     int uint16_t;
typedef unsigned           int uint32_t;

// #c---
/*****************************************************************************
 * 将一个字符的Unicode(UCS-2和UCS-4)编码转换成UTF-8编码.
 *
 * 参数:
 *    unic     字符的Unicode编码值
 * 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值