關於字符編碼,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)
關於字符編碼,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…) 轉自 Kevin Yang 字符編碼的問題看似很小,經常被技術人員忽視,但是很容易導致一些莫名其妙的問題。這裏總結了一下字符編碼的一些普及性的知識,希望對大家有所幫助。 還是得從ASCII碼説起説到字符編碼,不得不説ASCII碼的簡史。計算機一開始發明的時候是用來解決數字計算的問題,後來人們發現,計算機還可以做更多的事,例如文本處理。但由於計算機只識“數”,因此人們必須告訴計算機哪個數字來代表哪個特定字符,例如65代表字母‘A’,66代表字母‘B’,以此類推。但是計算機之間字符-數字的對應關係必須得一致,否則就會造成同一段數字在不同計算機上顯示出來的字符不一樣。因此美國國家標準協會ANSI制定了一個標準,規定了常用字符的集合以及每個字符對應的編號,這就是ASCII字符集(Character Set),也稱ASCII碼。 當時的計算機普遍使用8比特字節作為最小的存儲和處理單元,加之當時用到的字符也很少,26個大小寫英文字母還有數字再加上其他常用符號,也不到100個,因此使用7個比特位就可以高效的存儲 ...
Java知識點複習(二)
面向對象程序設計(OOP)面向對象的程序由對象組成的,每個對象包含對用户公開的特定功能部分和隱藏的實現部分。oop將數據擺在第一位,然後考慮操作數據的算法。 對象要使用OOP,要瞭解對象的三個主要特性: 對象的行為(behavior) ———— 可以對對象施加哪些操作,或可以對對象施加哪些方法? 對象的狀態(state) ———— 當施加那些方法時,對象如何響應? 對象標識(identity) ———— 如何辨別具有相同行為與狀態的不同對象? 類之間的關係 依賴(“uses-a”)如果一個類的方法操作另一個類的對象,我們就説一個類依賴另一個類 聚合(“has-a”)聚合意味著類A的對象包含類B的對象 繼承(“is-a”)類A擴展類B,類A不但包含從類B繼承的方法,還會擁有一些額外的功能 使用預定義類對象與對象變量要想使用對象,就必須首先構造對象,並指定其初始狀態。然後,對對象應用方法。構造器(constructor)用來構造新實例。構造器是一種特殊的方法,用來構造並初始化對象。 構造器的名字應與類名相同。以Date類為例,Date類的構造器名為Date。構造一個Date對象 ...
Java知識點複習(一)
學習Java的一些筆記 注意事項 Java對大小寫很敏感 類名必須以字母開頭,後面可以跟字母和數字,也可以用 _和$ 兩種符號。不能使用Java保留字。(標準類名:以大寫字母開頭,如果類名由多個單詞組成,每個單詞首字母應該要大寫 源代碼文件名必須與公共類的名字相同 為了代碼能夠執行,必須包含一個main方法 Java中的三種註釋 單行註釋( // ) 多行註釋( /* */) 多行註釋 可以自動生成文檔( /** */) 數據類型 類型 儲存需求 取值範圍 boolean 1字節 (8 bit) true, false char 2字節(16 bit) 0 ~ 216-1 byte 整型 1字節 (8 bit) -128 ~ 127 short 整型 2字節 (16 bit) -32 768 ~ 32 767 (-215 ~ 215-1) int 整型 4字節 (32 bit) -2 147 483 648 ~ 2 147 483 647(-231 ~ 231-1) long 整型 8字節 (64 bit) -9 223 372 036 85 ...