當前位置:首頁 » 編程語言 » c語言編碼方式

c語言編碼方式

發布時間: 2024-04-11 02:11:42

A. 在c語言中怎樣獲得漢字編碼

C語言中,我們用整數輸出字元得到的就是該字元的ASII碼,如用整數輸出a,得到97
但是,漢字用的是兩個位元組存儲,我們需要分別輸出者兩個位元組,就相當於輸出該漢子的編碼。
C語言支持ASCII,而GB2312與ASCII是兼容的,所以可以在C語言中獲得漢字的GB2312編碼
GB2312是兩個位元組的,第一位元組是高八位,第二位元組是低八位,比如下面的程序:

#include<stdio.h>
#include<string.h>
intmain(){
chara[5];
strcpy(a,"啊");
printf("%XH%XH ",(unsignedchar)a[0],(unsignedchar)a[1]);
return0;
}

a[0]是「啊」字的高八位,a[1]是低八位,程序運行結果是a[0]=B0 a[1]=A1,用16進製表示的,所以「啊」字的GB2312編碼是B0A1了。輸出時要強制轉換成unsigned char,不然就變成負數了,因為編碼是以8位的無符號整數為單位的。
也可以轉成10進制,例如:
int b=(unsigned char)a[0]*256+(unsigned char)a[1];
b即為漢字的10進制GB2312編碼了

B. c語言中,漢字使用什麼編碼方式

DOS下是GB2312
(包含6763個漢字)
Windows下(主要是指Visual
Studio)是ANSI,這是Windows默認的編碼方式
(這其實就是用「記事本」保存文件時默認的編碼,據說記事本用這個編碼的時候跟
"聯通"兩個字有過節)
linux不太清楚,現在據說都是UTF的,以前不是

C. c語言是用什麼編碼的

C語言是沒有編碼的。它的編碼就是平台的默認編碼。
比方說在windows 上漢字編碼用gb2312 或者 說cp936(GBK一般的windows默認代碼頁,windows分為不同的代碼頁,可以查看一下MSDN)。
http://msdn.microsoft.com/zh-cn/goglobal/cc305153(en-us).aspx

C里char 就是一個位元組。你定義一個漢字,比方說 char *p=「中」C語言用兩個位元組來存儲;
p指向的兩個位元組存儲的就是『中』的gb編碼。分別是『\xd6\xd0』。
當然如果用printf("%s",p) 輸入到屏幕的話,它會自動解碼輸出『中』這個字。
如果在linux平台下,它一般是uft-8編碼的,道理大概一樣。

熱點內容
沈陽系統i5編程實例 發布:2025-10-17 04:31:42 瀏覽:758
幻想堡壘解壓 發布:2025-10-17 04:10:44 瀏覽:672
androidstudio大小寫 發布:2025-10-17 04:10:01 瀏覽:228
python隨機生成字元串 發布:2025-10-17 04:03:29 瀏覽:536
fgt解壓 發布:2025-10-17 04:02:51 瀏覽:273
銀行卡忘密碼不是本人去改需要什麼 發布:2025-10-17 03:49:17 瀏覽:48
ftp上傳後解壓 發布:2025-10-17 03:48:42 瀏覽:277
java字元串空格 發布:2025-10-17 03:43:49 瀏覽:905
如何刪除備份密碼 發布:2025-10-17 03:33:46 瀏覽:769
壓縮空氣動力車 發布:2025-10-17 03:19:31 瀏覽:742