偶爾間發現了乙個程式,讓我想起了乙個問題:乙個漢字真的由兩個位元組存放嗎?
先看乙個程式段:
//檔案名字為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個位元組...