我愛我的家園!

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

           

          在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 死神 閱讀(3687) 評論(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)

          相冊

          語音技術

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 铜川市| 新和县| 永泰县| 丰台区| 藁城市| 习水县| 彭阳县| 留坝县| 清涧县| 东源县| 潼南县| 汝城县| 元谋县| 庆云县| 沭阳县| 华池县| 巫溪县| 玉田县| 定日县| 萝北县| 乐至县| 海盐县| 镇原县| 通辽市| 武汉市| 勐海县| 桓仁| 开化县| 婺源县| 惠水县| 镇巴县| 西吉县| 疏勒县| 福海县| 乌兰察布市| 威远县| 蓬安县| 德江县| 新乡市| 汤阴县| 乌兰察布市|