亂碼是如何產生的?

2021-09-29 07:04:28 字數 1018 閱讀 9473

計算機中只能處理二進位制數,那麼字元是如何在計算機中表示的呢? 乙個編碼表就可以解決了,每乙個編碼對應乙個字元。編碼錶可有很多種,先來看看下面的編碼格式:

ascll:使用 8 位有符號二進位制數表示(乙個位元組)最高為是0,代表正數,0-127每乙個數字代表乙個字元。共128個。

iso-8859-1:(乙個位元組) 收錄了西歐語言。

gb2312 / gbk:依然用乙個位元組的正數表示字元。用兩個位元組的負數表示乙個漢字,最高位是1(中文的二進位制是負數)。

gbk家族:gb2312 / gbk / gb18030(支援中文,佔兩個位元組)

ansi:指gb2312。

unicode:(通用碼)全世界所有符號統一編碼(字元都佔兩個位元組)

unicode只是乙個編碼規範,目前實際實現的unicode編碼只有三種:utf-8,ucs-2utf-16,三種unicode字符集之間可以按照規範進行轉換。

utf-8: 是一種對unicode的可變長字元編碼,又稱萬國碼(中文使用三位元組,ascii中每個字元的編碼在utf-8中是完全一樣的)使用廣泛。

utf-8 bom: 微軟自己的編碼,建議不用(預設多佔三個位元組)。

總結:

在開發過程中,相信大家都遇到過亂碼問題,問題是怎麼產生的呢?在計算機中只能處理 0 和 1, 所以所有的字元在計算機中處理時,都要使用編碼規則,將字元轉換成二進位制(編碼),待計算機處理完成,將結果顯示在螢幕時,需要將二進位制數轉換成對應的字元(解碼)。若在編碼和解碼時使用了不同的編碼格式,自然就會產生亂碼。解決亂碼的方法,就是想辦法使編碼和解碼使用同一種編碼格式即可。

死鎖是如何產生的

死鎖產生的四個必要條件 何為必要條件?產生死鎖,必然四個條件成立 四個條件成立,不一定為死鎖 1 互斥 只有互斥才可以產生死鎖,兩個程序共同操作乙個資源,那麼,同一時間只能乙個程序來操作,那麼另乙個程序必須等待,此程序不釋放,另乙個永遠等待。產生死鎖 2 不可以強佔 兩個程序,乙個程序占有某乙個資源...

機翼公升力是如何產生的?

1904 年,俄羅斯科學家儒科夫斯基 nikolai zhukovsky1847 1921 創立了現代機翼理論,說明了機翼在飛行中產生公升力的道理,並且從數學上給出了嚴格的證明。從此之後,人們有了科學的機翼概念。科學家的奇思妙想造就了人類 20世紀的偉大成就,科學家不是生意人。說句實在話,陽光動力 ...

17 死鎖是如何產生的

死鎖是如何產生的 本節介紹乙個和同步所相關的知識點死鎖。下面從3點來介紹死鎖。第一點什麼是死鎖?第二點死鎖是如何產生的?第三點編寫乙個死鎖示例。首先來看第一點,什麼是死鎖?死鎖是指兩個或兩個以上的執行緒,在執行過程中,由於競爭資源或者是由於彼此通訊而造成的一種阻塞現象,若無外力作用,他們都將無法推進...