我愛我的家園!

          成功在于你是否努力,希望在于你是否相信自己!

           

          在C語言中怎樣獲得漢字編碼?

          C語言中,我們用整數(shù)輸出字符得到的就是該字符的ASII碼,如用整數(shù)輸出a,得到97

          但是,要是用字符數(shù)組存的漢字,怎樣獲得他的編碼?漢字用的是兩個字節(jié)存儲,是不是這兩個字節(jié)都有ASII碼?那該怎么獲得他們?然后把他們統(tǒng)一成一個編碼?


          漢字編碼分好幾種,不知道你想問的是哪種?

          C/C++支持的是ASCII,不過漢字編碼中,GB2312與ASCII是兼容的,所以可以在C中獲得漢字的GB2312編碼

          GB2312是兩個字節(jié)的,第一字節(jié)是高八位,第二字節(jié)是低八位,比如下面的程序:

          #include<stdio.h>
          #include<string.h>
          int main()
          {
          char a[5];
          strcpy(a,"啊");
          printf("%XH %XH\n",(unsigned char)a[0],(unsigned char)a[1]);
          return 0;
          }

          a[0]是“啊”字的高八位,a[1]是低八位,程序運行結果是a[0]=B0 a[1]=A1,用16進制表示的,所以“啊”字的GB2312編碼是B0A1了~

          輸出時要強制轉(zhuǎn)換成unsigned char,不然就變成負數(shù)了,因為編碼是以8位的無符號整數(shù)為單位的

          當然也可以轉(zhuǎn)成10進制啦,比如

          int b;
          b=(unsigned char)a[0]*256+(unsigned char)a[1];

          b即為漢字的10進制GB2312編碼了

          posted on 2008-09-16 01:11 死神 閱讀(3687) 評論(3)  編輯  收藏 所屬分類: C/C++

          評論

          # re: 在C語言中怎樣獲得漢字編碼? 2010-07-15 19:01

          請問如果已經(jīng)知道GB2312編碼是多少
          那要轉(zhuǎn)成漢字要怎麼轉(zhuǎn)呢?  回復  更多評論   

          # re: 在C語言中怎樣獲得漢字編碼? 2010-07-18 14:37 楊銀邦

          ´óÓ¢ÐÛII請問這是什么編碼?謝謝   回復  更多評論   

          # re: 在C語言中怎樣獲得漢字編碼? 2010-07-18 14:43 楊銀邦(QQ960692272)

          如果有對編碼很精通的朋友。請聯(lián)系QQ 96 0 69 22 72,你會收到精美的禮品!誠待天下客
          Èç¹ûÓжԱàÂëºÜ¾«Í¨µÄÅóÓÑ ,ÇëÁªÏµ !Äã»áÊÕµ½¾«ÃÀµÄÀñÆ·£¡³Ï´ýÌìÏ¿Í

          怎樣翻譯并制作一個編碼器 使之互相通譯?  回復  更多評論   

          導航

          統(tǒng)計

          公告

          歡迎大家來到我的個人世界!

          常用鏈接

          留言簿(3)

          隨筆分類(5)

          隨筆檔案(9)

          文章分類(37)

          文章檔案(41)

          相冊

          語音技術

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 始兴县| 库尔勒市| 吉林省| 新民市| 包头市| 含山县| 景宁| 衡水市| 大宁县| 祁连县| 永福县| 金川县| 八宿县| 永康市| 房山区| 汤阴县| 无为县| 德钦县| 和顺县| 上蔡县| 洛南县| 云安县| 涟水县| 横山县| 平泉县| 永泰县| 东兰县| 息烽县| 依安县| 定远县| 蓬安县| 阳东县| 疏勒县| 马关县| 镇原县| 新田县| 普兰县| 拉孜县| 北流市| 临安市| 安国市|