欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語(yǔ)言

ASCII編碼與Unicode編碼

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

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)對(duì)應(yīng)一個(gè)符號(hào),就是256個(gè)符號(hào),從00000000到11111111。

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

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

  Unicode編碼

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

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

  Unicode 是一個(gè)很大的集合,現(xiàn)在的規(guī)?梢匀菁{100多萬(wàn)個(gè)符號(hào),每個(gè)符號(hào)的對(duì)應(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語(yǔ)言程序

  Gedit

  Gedit是一個(gè)簡(jiǎn)單實(shí)用的文本編輯器,擁有漂亮的界面,支持語(yǔ)法高亮,比 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支持多種語(yǔ)言的高亮顯示,一般情況下能夠自動(dòng)識(shí)別語(yǔ)言,如果識(shí)別錯(cuò)誤,請(qǐng)?jiān)?ldquo;編輯->高亮模式“下選擇C。

  GCC

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

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

  gcc test.c -o test

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

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

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

  1) 預(yù)處理

  gcc -E test.c -o test.i

  在當(dāng)前目錄下會(huì)多出一個(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ī)器能夠識(shí)別的可執(zhí)行代碼,但是由于還沒有鏈接,結(jié)構(gòu)會(huì)稍有不同。

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

  gcc test.o -o test

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

  gcc -c test1.c -o test1.o

  gcc -c test2.c -o test2.o

  gcc test1.o test2.o -o test

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

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

  ./test

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

  sudo cdmod test 777

  對(duì)于程序的檢錯(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語(yǔ)言: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語(yǔ)言的編碼規(guī)范08-23

C語(yǔ)言的編碼編譯08-11

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

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