亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

C語言

ASCII編碼與Unicode編碼

時(shí)間:2025-02-05 05:09:33 C語言 我要投稿

ASCII編碼與Unicode編碼

  下文將為大家介紹關(guān)于ASCII編碼與Unicode編碼,歡迎學(xué)習(xí)!

  ASCII編碼與Unicode編碼

  ASCII碼

  我們知道,一個(gè)二進(jìn)制位(Bit)有0、1兩種狀態(tài),一個(gè)字節(jié)(Byte)有8個(gè)二進(jìn)制位,有256種狀態(tài),每種狀態(tài)對應(yīng)一個(gè)符號,就是256個(gè)符號,從00000000到11111111。

  計(jì)算機(jī)誕生于美國,早期的計(jì)算機(jī)使用者大多使用英文,上世紀(jì)60年代,美國制定了一套英文字符與二進(jìn)制位的對應(yīng)關(guān)系,稱為ASCII碼,沿用至今。

  ASCII碼規(guī)定了128個(gè)英文字符與二進(jìn)制的對應(yīng)關(guān)系,占用一個(gè)字節(jié)(實(shí)際上只占用了一個(gè)字節(jié)的后面7位,最前面1位統(tǒng)一規(guī)定為0)。例如,字母 a 的的ASCII碼為 01100001,那么你暫時(shí)可以理解為字母 a 存儲到內(nèi)存之前會被轉(zhuǎn)換為 01100001,讀取時(shí)遇到 01100001 也會轉(zhuǎn)換為 a。

  Unicode編碼

  隨著計(jì)算機(jī)的流行,使用計(jì)算機(jī)的人越來越多,不僅限于美國,整個(gè)世界都在使用,這個(gè)時(shí)候ASCII編碼的問題就凸現(xiàn)出來了。

  ASCII編碼只占用1個(gè)字節(jié),最多只能表示256個(gè)字符,我大中華區(qū)10萬漢字怎么表示,日語韓語拉丁語怎么表示?所以90年代又制定了一套新的規(guī)范,將全世界范圍內(nèi)的字符統(tǒng)一使用一種方式在計(jì)算機(jī)中表示,這就是Unicode編碼(Unique Code),也稱統(tǒng)一碼、萬國碼。

  Unicode 是一個(gè)很大的集合,現(xiàn)在的規(guī)?梢匀菁{100多萬個(gè)符號,每個(gè)符號的對應(yīng)的二進(jìn)制都不一樣。Unicode 規(guī)定可以使用多個(gè)字節(jié)表示一個(gè)字符,例如 a 的編碼為 01100001,一個(gè)字節(jié)就夠了,”好“的編碼為 01011001 01111101,需要兩個(gè)字節(jié)。

  為了兼容ASCII,Unicode 規(guī)定前0~127個(gè)字符與ASCII是一樣的,不一樣的只是128~255的這一段。

  相關(guān)閱讀》》在Linux下運(yùn)行C語言程序

  Gedit

  Gedit是一個(gè)簡單實(shí)用的文本編輯器,擁有漂亮的界面,支持語法高亮,比 Vim 更易上手。本教程將Gedit作為C代碼編輯器。

  Gedit的安裝:

  sudo apt-add-repository ppa:ubuntu-on-rails/ppa //添加ubuntu的軟件源

  sudo apt-get update //更新軟件列表

  sudo apt-get install gedit-gmate //安裝

  在當(dāng)前目錄下創(chuàng)建一個(gè)C源文件并打開:

  touch test.c

  gedit test.c

  可以看到gedit的窗口,輸入:

  #include#includeint main(){ printf("Hello,Linux.\n"); exit(0);}

  gedit 窗口截圖

  注意:Gedit支持多種語言的高亮顯示,一般情況下能夠自動(dòng)識別語言,如果識別錯(cuò)誤,請?jiān)?ldquo;編輯->高亮模式“下選擇C。

  GCC

  Linux下使用最廣泛的C/C++編譯器是GCC,大多數(shù)的Linux發(fā)行版本都默認(rèn)安裝,不管是開發(fā)人員還是初學(xué)者,一般都將GCC作為Linux下首選的編譯工具。本教程毫不猶豫地使用GCC來編譯C程序。

  保存文件后退出,打開終端并 cd 到當(dāng)前目錄,輸入下面的命令:

  gcc test.c -o test

  可以直接將C代碼編譯鏈接為可執(zhí)行文件。

  可以看到在當(dāng)前目錄下多出一個(gè)文件 test,這就是可執(zhí)行文件。不像Windows,Linux不以文件后綴來區(qū)分可執(zhí)行文件,Linux下的可執(zhí)行文件后綴理論上是可以任意更改的。

  當(dāng)然,也可以分步編譯:

  1) 預(yù)處理

  gcc -E test.c -o test.i

  在當(dāng)前目錄下會多出一個(gè)預(yù)處理結(jié)果文件 test.i,打開 test.i 可以看到,在 test.c 的基礎(chǔ)上把stdio.h和stdlib.h的內(nèi)容插進(jìn)去了。

  2) 編譯為匯編代碼

  gcc -S test.i -o test.s

  其中-S參數(shù)是在編譯完成后退出,-o為指定文件名。

  3) 匯編為目標(biāo)文件

  gcc -c test.s -o test.o

  .o就是目標(biāo)文件。目標(biāo)文件與可執(zhí)行文件類似,都是機(jī)器能夠識別的可執(zhí)行代碼,但是由于還沒有鏈接,結(jié)構(gòu)會稍有不同。

  3) 鏈接并生成可執(zhí)行文件

  gcc test.o -o test

  如果有多個(gè)源文件,可以這樣來編譯:

  gcc -c test1.c -o test1.o

  gcc -c test2.c -o test2.o

  gcc test1.o test2.o -o test

  注意:如果不指定文件名,GCC會生成名為a.out的文件,.out文件只是為了區(qū)分編譯后的文件,Linux下并沒有標(biāo)準(zhǔn)的可執(zhí)行文件后綴名,一般可執(zhí)行文件都沒有后綴名。

  編譯后生成的test文件就是程序了,運(yùn)行它:

  ./test

  如果沒有運(yùn)行權(quán)限,可以使用sudo命令來增加權(quán)限(注意要在Linux的分區(qū)下):

  sudo cdmod test 777

  對于程序的檢錯(cuò),我們可以用-pedantic、-Wall、-Werror選項(xiàng):

  -pedantic選項(xiàng)能夠幫助程序員發(fā)現(xiàn)一些不符合 ANSI/ISO C標(biāo)準(zhǔn)的代碼(并不是全部);

  -Wall可以讓gcc顯示警告信息;

  -Werror可以讓gcc在編譯中遇到錯(cuò)誤時(shí)停止繼續(xù)。

  這3個(gè)選項(xiàng)都是非常有用的。

【ASCII編碼與Unicode編碼】相關(guān)文章:

ASCII編碼和Unicode編碼11-03

C語言:ASCII編碼與Unicode編碼10-11

淺析PHP中的UNICODE編碼與解碼10-23

談?wù)刾hp中的unicode和utf8編碼08-06

PHP如何實(shí)現(xiàn)Unicode和Utf-8編碼相互轉(zhuǎn)換07-28

C語言的編碼規(guī)范08-23

C語言的編碼編譯08-11

正確給商品編碼歸類的原則08-27

C語言基礎(chǔ)之編碼規(guī)范07-15