ASCII Unicode和UTF字元編碼區別

2021-10-22 17:41:26 字數 1680 閱讀 9080

計算機的cpu是由晶體二極體組成,只有開關兩種狀態,因此計算機只能識別0和1。計算機的乙個開或關狀態稱為乙個bit,若干個bit可以組成最基本的儲存單元byte,因此人類的各種語言就可以用byte儲存起來並約定一一對應表示,這種以二進位制來表示符號的過程就叫做編碼。

1、ascii(american standard code for information interchange)編碼是用於顯示現代英語與部分西歐語言的一套編碼,7或8位,只包含英文本元、數字和英文的一些標點符號等。

2、unicode是能夠表示全世界所有符號,被稱為萬國碼。由於英文本元只用乙個位元組(兩個bit以上)就可以表示,對於像漢字這樣的東亞文字,常用漢字就有6000多個,用單個位元組就無法表示,因此用兩個位元組來表示,如漢字 '中' 在中文作業系統中,使用 [0xd6,0xd0] 這兩個位元組儲存。unicode是用多個位元組來表示乙個字元,而英文本元只有乙個位元組就可以表示,所以必有位元組為0,造成了空間的浪費。

3、utf,是一種針對unicode的可變長度字元編碼,是unicode的公升級版。網際網路出現後,為解決unicode如何在網路上傳輸的問題,於是面向傳輸的眾多 utf(ucs transfer format)標準出現了,顧名思義,utf-8就是每次8個位傳輸資料,而utf-16就是每次16個位。utf-8就是在網際網路上使用最廣的一種unicode的實現方式,這是為傳輸而設計的編碼,並使編碼無國界,這樣就可以顯示全世界上所有文化的字元了。

有時候用matlab讀取txt檔案時,會出現「鍩」的錯誤提示,這是因為檔案的編碼方式為utf-8 with bom,不同於utf-8編碼的是,它會在檔案頭行新增「ef bb bf」這三個位元組,而ef bb恰好表示鍩字,因此在儲存檔案時要選擇utf-8編碼方式。可以選擇用ultraedit或者notepad更改編碼方式。

有時候用gmt的psxy等讀取檔案的命令畫線段時,會出現下面的錯誤提醒,這表示此時讀取的檔案編碼方式很可能是utf-8 with bom,這時候讀取檔案也會極慢。

psxy (gmt_prep_tmp_arrays): error: could not reallocate memory [256.00 gb, 34359738368 items of 8 bytes]

psxy: processing input table data

error: caught signal number 11 (segmentation fault) at

/usr/lib/x86_64-linux-gnu/libgmt.so.5(gmt_fix_up_path+0xb1)[0x7f0558d05ce1]

[0x0]

stack backtrace:

/usr/lib/x86_64-linux-gnu/libgmt.so.5(sig_handler+0x169)[0x7f0558c50739]

/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f0558a0e390]

/usr/lib/x86_64-linux-gnu/libgmt.so.5(gmt_fix_up_path+0xb1)[0x7f0558d05ce1]

/usr/lib/x86_64-linux-gnu/libgmt.so.5(gmt_psxy+0x4b62)[0x7f0558e7ea52]

/usr/lib/x86_64-linux-gnu/libgmt.so.5(gmt_call_module+0xc0)[0x7f0558c5dbe0]

ASCII,Unicode和UTF等字元編碼

ascii american standard code for information interchange 美國資訊交換標準碼,主要是對美國等國家使用的英文本母等字符集進行編碼,為每個字元分配乙個ascii碼。ascii碼範圍是0到127,在計算機中使用乙個位元組儲存,其中最高位是0,其餘位為...

ASCII,Unicode和UTF 8的區別。

1.ascii 我們知道,計算機內部,所有資訊最終都是乙個二進位制值。每乙個二進位制位 bit 有0和1兩種狀態,因此八個二進位制位就可以組合出256種狀態,這被稱為乙個位元組 byte 也就是說,乙個位元組一共可以用來表示256種不同的狀態,每乙個狀態對應乙個符號,就是256個符號,從000000...

UT測試方法

目錄 ut測試 一 gtest框架 二 打樁 三 用例統計 四 覆蓋率統計 引用庫gtest c c 打樁 編譯選項新增 fprofile arcs ftest coverage,生成可執行檔案ut proc 執行生成的ut 可執行檔案 ut proc gtest output xml test u...