ASCII 转换为UNICODE

来源:互联网 发布:mv歌词制作软件 编辑:程序博客网 时间:2024/05/01 22:58

 

 

方法一: 使用MultiByteToWideChar

 

         


CFile file(strPath,CFile::modeRead|CFile::typeBinary);

 

int num=file.GetLength();   // 得到的是文件字节(BYTE)的数目,而不是字数
char *read;

read=new char[num];

file.Read(read,num);   //将字符串从文件中读取到read动态数组中,num表示从文件中读取num个BYTE

 

 

WCHAR *wword;      //Unicode 宽字符类型
wword=new WCHAR[num];

if (wword==NULL)
{
 free(wword);
}

memset(wword,0,num*sizeof(WCHAR));    // 对分配的空间进行初始化为0, 初始化为0很重要,因为cstring也是以0为结束符的
MultiByteToWideChar(CP_ACP,0,read,num,wword,num); //将保存在read数组中的num个字节 转换到 wword中,  wword空间可能会有剩余,所以应该先对其空间进行初始化为0的操作

 

for (int i=0;i<num;i++)
{
 strText+=wword[i];                         

}       //将Unicode宽字符数组中的文字 置入CString串中,因CString以0为结尾,所以当wword剩余空间对cstring字符串没影响,因为其已经被初始化为0了 

 

file.Close();

delete wword;
delete read;
m_RichEdit.SetWindowText(strText);

 

源码:

 

 

 

 

方法二:使用USES_CONVERSION  

 

            此方法比较简单

    

            共分两部:

            第一步:   用一数组保存待转换的字符串,字符串必须以'/0'结束

 

            第二步:  开始转换,将结果保存在CString 类对象中

           

 

CFile file(strPath,CFile::modeRead|CFile::typeBinary);

 

int length=file.GetLength();

 

char *read=new char[length+1];   //  定义一动态数组,数组大小为文件长度+1,这个1用来存放文字串的结束符'/0'

 

file.Read(read,length);

read[length]='/0';         //   必须要加字符串结束符,否则转换会出错

 

USES_CONVERSION;      // 开始转换

CString str=A2W(read);

m_RichEdit.SetWindowText(str);

 

源码:

 

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 久而不射,但软了怎么办 盆底综合肌力1级怎么办 头发掉的厉害怎么办吃什么好 给蜂蛰了肿了痒怎么办 小米手环2没电了怎么办 小米手环2不亮了怎么办 红米3s无限重启怎么办 乐视手机1s卡顿怎么办 老公出轨了怎么办你会选择离婚吗 c盘和d盘换换了怎么办 晚上2点到3点醒怎么办 红米3s变砖了怎么办 6s锁屏密码忘了怎么办 怀孕9个月了胃疼怎么办 怀孕6个月了胃疼怎么办 孕妇胃疼怎么办4个月了 25岁欠了5万块钱怎么办 感冒嗓子疼怎么办最简单的方法 和老婆离婚了我的心好痛怎么办 4s店不给退定金怎么办 教你闪腰了后该怎么办 coolpad酷派手机开不了机怎么办 苹果5s黑屏开不了机怎么办 苹果4s的屏坏了怎么办 苹果6手机充电口接触不良怎么办 5s用久了卡顿怎么办 孕妇血糖高怎么办什么方法降最好 脚砸了肿了紫了怎么办 我想在淘宝上卖东西该怎么办 苹果手机4s开不了机怎么办 冒险岛s前出2条怎么办 狗狗又吐又拉血怎么办 小孩上网成瘾怎么办父母要怎么做 一只眼睛大一只眼睛小怎么办 带近视镜时间长了眼睛变形怎么办 联通卡2g换4g卡怎么办 上火牙疼怎么办教你立刻止疼 吃热的凉的牙疼怎么办 我买的股票退市了怎么办 如果起诉离婚另一方不出庭怎么办 10个月宝宝还没长牙怎么办