当前位置:  技术问答>linux和unix

GB2312到unicode编码转换不成功???

    来源: 互联网  发布时间:2017-03-05

    本文导语:     最近在做mini2440控制gsm发送短信,在对信息进行GB2312到unicode编码转换时出现了乱码? 我用的是ubuntu 12.04 下面是我的代码 #include    2 #include    3 #include    4 #include  //convert function   5 #include    6 #inclu...

   最近在做mini2440控制gsm发送短信,在对信息进行GB2312到unicode编码转换时出现了乱码?
我用的是ubuntu 12.04
下面是我的代码


#include 
  2 #include 
  3 #include 
  4 #include  //convert function
  5 #include 
  6 #include 
  7 #include
  8 
  9 #define S 2000
 10 
 11 void convert(const char *fromset,const char *toset,char *from,int from_len,char *to,int to_len)
 12 {
 13         printf("%s is to be converted!n",from);
 14         iconv_t cd,cdd;
 15         cd=iconv_open(toset,fromset);
 16         char **from2=&from;
 17         char **to2=&to;
 18         if(iconv(cd,from2,&from_len,to2,&to_len)==-1)
 19                 printf("Convert fail!n");
 20         else
 21                 printf("Convert success!n");
 22 
 23 //      printf("%sn",to);
 24         iconv_close(cd);
 25         return ;
 26 }
 27 
 28 int main()
 29 {
 30         char from[]="你好";
 31         char to[S]={''};
 32         convert("gb2312","unicode",from,strlen(from),to,S);
 33         printf("%sn",to);
 34         return 0;
 35 }

我的输出结果为:

你好 is to be converted!
Convert fail!
��cm




哪位大神给指点指点!!!不胜感激!!!



|
以前写的函数

#include 
#include 

#include 

char *ks_iconv(const char *str, char *buf, const char *from, const char *to)
{
        iconv_t cd;
        char *inbuf;
        char *outbuf;
        char *dstbuf;
        size_t dstlen;
        size_t size;
        size_t inleft;
        size_t outleft;

        dstlen = strlen(str) * 3;
        dstbuf = buf;

        cd = iconv_open(to, from);
        if ((iconv_t)-1 == cd) {
                return 0;
        }


        inbuf   = (char *)str;
        outbuf  = dstbuf;
        inleft  = strlen(str);
        outleft = dstlen;

        size = iconv(cd, &inbuf, &inleft, &outbuf, &outleft);
        iconv_close(cd);

        if ((size_t)-1 == size) {
                return NULL;
        }

        if (inleft > 0) {
                return NULL;
        }

        dstbuf[dstlen - outleft] = 0;

        return (dstbuf);
}

int main(int argc, char *argv[])
{
        char gb[] = "中国";
        char utf[32];

        ks_iconv(gb, utf, "GB2312", "UTF-8");

        printf("utf=[%s]n", utf);

        return 0;
}

|
可以参考一下我之前搞的这个http://blog.csdn.net/brantyou/article/details/7306029

|
检查vi中默认的中文是否为GB2312,如果不是手动设置成GB2312,然后再写你好

    
 
 

您可能感兴趣的文章:

  • 怎么把字符串转为:unicode 编码?又如何把unicode编码转为字符串(有中文)?
  • php unicode解码工具(unicode编码转换器)
  • php制作unicode解码工具(unicode编码转换器)代码分享
  • Unicode转换为GB2312 编码问题
  • UNICODE编码问题
  • Unix下Unicode编码和gb的转化如何实现?急!!
  • java用的是unicode, c 用的哪种字符编码?
  • c#通过unicode编码判断字符是否为中文示例分享
  • 短信协议中的ucs-2 unicode编码的问题
  • LINUX 下如何判断当前是否UNICODE字符编码类型?
  • php汉字unicode编码与解码
  • PHP解码unicode编码的中文字符代码分享
  • utf8和unicode编码究竟是什么关系?有何区别?
  • 用iconv进行unicode编码和编码表方法的问题
  • php汉字转码Unicode编码函数
  • VC中实现GB2312、BIG5、Unicode编码转换的方法
  • php汉字转码 GBK->Unicode(UTF8)编码转换
  • php汉字转码 Unicode(UTF8)至GBK编码转换
  • 如何把“u865Au7EBF”这样的Unicode中文字符编码转换为Gb2312的中文字符?
  • php gb2312和unicode(UTF-8)编码转换实例
  • PHP实现Unicode和Utf-8互相转换
  • 如何实现mbcs转换unicode,unicode转换成utf8
  • UNICODE编码问题 iis7站长之家
  • unicode转换为ascii 的问题
  • 求助java中如何在unicode和GBK2312之间转换
  • 在UNIX下如何将ASCII码转换成UNICODE码,急!急!急!急!
  • 请问有什么java共通类能在程序里将unicode转换成String对象?
  • Java中有没有Unicode到GB2312或GBK的转换函数?
  • linux下如何把字符串转换为Unicode?
  • 在Java中怎样实现GBK内码到Unicode的转换
  • 怎样将UTF-8码的String转换成unicode!!!!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 要gb2312-->unicode的代码
  • ▲高分求解▲:Unicode ——>> GB2312
  • java命名空间java.util.regex类pattern的类成员方法: unicode_case定义及介绍
  • 如何输出所有的ASCII码或Unicode字符?如何得到a,b等的ASCII码或Unicode?
  • java命名空间javax.sql.rowset类baserowset的类成员方法: unicode_stream_param定义及介绍
  • unicode & 多语言???
  • CSS unicode-bidi 属性
  • UniCode在网上怎么查呀?
  • Unicode库 Unicode.php
  • 就Linux下的Unicode问题,发出讨论。
  • linux下怎么获得字符串的unicode码?
  • 如何让GCC支持unicode16
  • UNIX支持UNICODE否?
  • sql server中使用Unicode字符时要注意的问题
  • 哪位大虾能告诉我unicode中中文段的值?
  • 谁能提供一份unicode表??
  • C#随机生成Unicode类型字符串
  • 怎样获得一个汉字的ASCII码?我得到的是Unicode码:(
  • 怎样设置unicode使汉字能在控制台显示。(up有分)谢谢:)
  • 关于GCC:是否支持UNICODE?
  • 在linux下如何实现unicode和gb互相转化?
  • 有没有Windows下的支持unicode的ssh工具啊
  • linux下用标准C如何创建一个unicode文件


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3