當前位置:首頁 » 編程語言 » c語言字元編碼

c語言字元編碼

發布時間: 2023-06-08 19:59:50

Ⅰ 在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編碼了

Ⅱ 在C語言中如何指定字元串編碼方式

計算機用兩個位元組來表示一個漢字,「我」在內存里就是這樣存放的:CE D2。CE是str[0]的內容,D2是str[1]的內容。第一次循環輸出str[0],但是這個字元在ASCII字元集里代表這樣一個東西Î(不知道在這兒能不能正常顯示……),但是Windows的命令提示符程序讀取到這里就會自動使用寬字元集,也就是說,它已經准備好讀取下一個字元,然後把他們當成一個字元顯示出來。於是就出現了那個漢字。 #include <stdio.h> int main() { printf("%c%c",(char)0xce,(char)0xd2); }

Ⅲ 這是C語言的編碼,請問c2c3c5c6都是什麼表示方法啊

\xNN是十六進制
\xxx這種是8進制(最多3個數字)

'a'就是普通字元,97這種是字元對應的ascii碼(C可以自動在字元與字元對應的ASCII之間轉換,具體數值你可以查ASCII表,所以'A'+1='B'這種運算也是可以的。
0x61是另外一種16進制的寫法(以0x打頭),0141是8進制另一種寫法(以0打頭)

熱點內容
如何從安卓導數據到蘋果 發布:2024-05-22 12:15:59 瀏覽:273
博越互聯版屬於什麼配置 發布:2024-05-22 12:11:46 瀏覽:224
伺服器除了dns還有什麼 發布:2024-05-22 11:58:14 瀏覽:290
android開發背景 發布:2024-05-22 11:54:01 瀏覽:180
java文件怎麼保存 發布:2024-05-22 11:17:17 瀏覽:828
安卓系統是哪裡造的 發布:2024-05-22 11:11:23 瀏覽:473
linux下sh 發布:2024-05-22 11:10:16 瀏覽:309
勞動資源配置中的自然配置是什麼 發布:2024-05-22 10:54:53 瀏覽:675
asp的資料庫 發布:2024-05-22 10:29:05 瀏覽:138
plc軟體編程程序 發布:2024-05-22 10:29:00 瀏覽:470