CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

GB2312编码如何分别转换成GBK码和Unicode码???????????????????????????

楼主kao2008()2005-10-31 14:33:37 在 C/C++ / C++ 语言 提问

大家不妨提供点参考,最好有源码!!!  
  谢谢! 问题点数:50、回复次数:3Top

1 楼kao2008()回复于 2005-10-31 15:56:58 得分 20

upTop

2 楼ddmor(火箭-小明)回复于 2005-10-31 17:49:03 得分 15

gb2312到unicode的编码可以使用windows的API函数MultiByteToWideChar,unicode到gb2312也可以借助wsprintf函数:  
   
  const   wchar_t*   c2wc(/*in*/const   char*   const   c,/*out*/wstring   &ws)  
  {  
  int nLen=GetUnicodeSize(c);  
  wchar_t   *wc=new   wchar_t[nLen+1];  
  MultiByteToWideChar(CP_ACP,   0,   c,   -1,   wc,   nLen*2+2);  
  ws=wc;  
  delete   []   wc;  
  return   ws.c_str();  
  }  
  const   char* wc2c(/*in*/const   WCHAR*   const   wc,/*out*/string   &sC)  
  {  
  size_t   nL=wcslen(wc);  
  char*   szB=new   char[nL*2+1];  
  wsprintf(szB,"%S",wc);  
  sC=szB;  
  delete   []   szB;  
  return   sC.c_str();  
  }  
   
   
  Top

3 楼ddmor(火箭-小明)回复于 2005-10-31 18:00:28 得分 15

GBK是GB码的扩展,需要先将gb2312转为unicode,然后用函数  
  int   WideCharToMultiByte(  
      UINT   CodePage,                         //   code   page  
      DWORD   dwFlags,                         //   performance   and   mapping   flags  
      LPCWSTR   lpWideCharStr,         //   wide-character   string  
      int   cchWideChar,                     //   number   of   chars   in   string  
      LPSTR   lpMultiByteStr,           //   buffer   for   new   string  
      int   cbMultiByte,                     //   size   of   buffer  
      LPCSTR   lpDefaultChar,           //   default   for   unmappable   chars  
      LPBOOL   lpUsedDefaultChar     //   set   when   default   char   used  
  );  
  其中codepage中添入50935就可以了。呵呵  
  50935   Simplified   Chinese   Extended   and   Simplified   ChineseTop

相关问题

  • Unicode编码(高分)
  • UNICODE编码问题
  • 在C#中如何把unicode编码转化成GB(2312)
  • 如何从Stream中获得Unicode编码的二进制流并转换成GB编码的AnsiString?
  • 如何把Unicode编码转换成GB码,我需要代码,有的进
  • unicode编码的问题
  • 如何实现在中文操作系统上把Unicode编码转换为其他方式编码(中文(GBK),日文(JIS),韩文等)
  • GB2312编码转换到Unicode编码的问题
  • 怎么将Unicode编码的字符串转变成DbCS编码?
  • gb18030编码格式怎么转换成UNICODE编码格式????

关键词

  • 函数
  • unicode
  • ws
  • szb
  • wc
  • wchar
  • gb
  • sc
  • const
  • chars

得分解答快速导航

  • 帖主:kao2008
  • kao2008
  • ddmor
  • ddmor

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo