怎么读取UNICODE编码的TXT文件并显示出内容里的中文字符串
1个回答
展开全部
#include <stdio.h>
#include <WCHAR.h>
#include <Windows.h>
//windows默认是GBK码显示的,所以出现乱码;
char* ToGBK(unsigned int ucode/*unicode码,为四个字节*/){
char* Unicode_char=new char[5];
wsprintf(Unicode_char,"%wc",(wchar_t)ucode);
return Unicode_char;//返回gbk码
}
void main(){
/*
0X4E00为汉字 "一"的UNICODE码;
0XD2BB为汉字"一"GBK码
0X963f为汉字"阿"的UNICODE码;
0XB0A2为汉字"阿"GBK码
*/
char *ch;
ch=ToGBK(0X4E00);
printf(ch);
unsigned char low=*ch;//取汉字对应的内存数据
unsigned char high=*(ch+1);
printf("%02X %02X ",low,high);//gbk码
delete ch;
ch=NULL;
}
#include <WCHAR.h>
#include <Windows.h>
//windows默认是GBK码显示的,所以出现乱码;
char* ToGBK(unsigned int ucode/*unicode码,为四个字节*/){
char* Unicode_char=new char[5];
wsprintf(Unicode_char,"%wc",(wchar_t)ucode);
return Unicode_char;//返回gbk码
}
void main(){
/*
0X4E00为汉字 "一"的UNICODE码;
0XD2BB为汉字"一"GBK码
0X963f为汉字"阿"的UNICODE码;
0XB0A2为汉字"阿"GBK码
*/
char *ch;
ch=ToGBK(0X4E00);
printf(ch);
unsigned char low=*ch;//取汉字对应的内存数据
unsigned char high=*(ch+1);
printf("%02X %02X ",low,high);//gbk码
delete ch;
ch=NULL;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询