我愛我的家園!

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

           

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

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

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


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

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

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

          #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了~

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

          當然也可以轉成10進制啦,比如

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

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

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

          評論

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

          請問如果已經知道GB2312編碼是多少
          那要轉成漢字要怎麼轉呢?  回復  更多評論   

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

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

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

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

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

          導航

          統計

          公告

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

          常用鏈接

          留言簿(3)

          隨筆分類(5)

          隨筆檔案(9)

          文章分類(37)

          文章檔案(41)

          相冊

          語音技術

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 双辽市| 平远县| 荣昌县| 罗甸县| 磐安县| 个旧市| 家居| 洪江市| 林芝县| 礼泉县| 高台县| 阿克陶县| 龙岩市| 浦城县| 上犹县| 平湖市| 梨树县| 尖扎县| 独山县| 明溪县| 克山县| 大邑县| 上虞市| 得荣县| 太和县| 嘉义市| 腾冲县| 台安县| 昭觉县| 棋牌| 虞城县| 阿图什市| 南阳市| 尼玛县| 兴海县| 保定市| 金山区| 溧阳市| 开封市| 武冈市| 松潘县|