乙個漢字真的由兩個位元組存放嗎?

2021-07-30 07:55:52 字數 1086 閱讀 4151

偶爾間發現了乙個程式,讓我想起了乙個問題:乙個漢字真的由兩個位元組存放嗎?

先看乙個程式段:

//檔案名字為test.c

#include

#include

#include

int main(int argc, char *argv)

while((ch2 = fgetc(fp)) != eof)

fclose(fp);

return 0;

}

在命令列中進行如下命令:

gcc test.c

./a.out sun.txt

注:假如在同目錄下有乙個檔案sun.txt,裡面內容為:

天亮了上面的執行結果將為:

天亮了如果將上面的程式改為如下:

//檔案名字為test.c

#include

#include

#include

int main(int argc, char *argv)

, ch2;

file *fp;

int i = 0, j;

fp = fopen(argv[1], "rt");

if(fp == null)

while((ch2 = fgetc(fp)) != eof)

i = strlen(ch1);

for(j = 0; j < i - 1; j++)

printf("%c%c%c\n", ch1[0], ch1[1], ch1[2]);

printf("%c%c\n", ch1[0], ch1[1]);

printf("%c%c\n", ch1[1], ch1[2]);

fclose(fp);

return 0;

}

在命令列中進行如下命令:

gcc test.c

./a.out sun.txt

注:假如在同目錄下有乙個檔案sun.txt,裡面內容為:

天亮了上面的執行結果將為:

天亮了ch1[0]=

ch1[1]=

0 給主人留下些什麼吧!~~

漢字是兩個位元組嗎?(非也,漢字位元組與編碼格式有關)

位元組數 1 編碼 gb2312 位元組數 1 編碼 gbk 位元組數 1 編碼 gb18030 位元組數 1 編碼 iso 8859 1 位元組數 1 編碼 utf 8 位元組數 4 編碼 utf 16 位元組數 2 編碼 utf 16be 位元組數 2 編碼 utf 16le位元組數 2 編碼 ...

oracle 乙個漢字占用幾個位元組

oracle 乙個中文漢字 占用幾個位元組,要根據oracle中字符集編碼決定 檢視oracle server端字符集 select userenv language from dual 如果顯示如下,乙個漢字占用兩個位元組simplified chinese china.zhs16gbk 如果顯示...

php漢字佔幾個位元組,php乙個漢字幾個位元組

字元的簡介 在js中,中文佔兩個字元,英文佔乙個字元 在php中,不同編碼下不相同,在gbk gb2312編碼下乙個中文佔2個字元,utf 8 unicode編碼下乙個中文佔3個字元 推薦 php教程 php 位元組 和字元 php在utf 8編碼下,乙個漢字佔3個位元組,gbk編碼下只佔2個位元組...