一、ASII
美國(國家)資訊交換標準(代)碼。
電腦中只有數字,一切都是用數字表示,螢幕上顯示的一個一個的字元也不例外。
一個位元組可表示的數字為0-255,足以顯示鍵盤上的所有的字元 例如. a 為97 b為 98。這種數字與字元對應的編碼規則,稱為Asc11 碼,ASC11 碼的最高bit位元都是0,也就是說,ASC11碼的值都在0-127之間。
二、GB2312和GBK(中國的本地字元集)
中國大陸將每個中文字元都用2個位元組表示,中文字元第一個字節最高bit位都是1。這種編碼格式稱為 (gb2312) 國標碼 那麼gb2312碼對應的數字都是負數。
在此gb2312基礎上,又增了一些,比如繁體字,稱為GBK
附:
GB18030編碼是在GBK編碼基礎上的擴充,因為漢字更多,僅僅使用兩位編碼已經不能容納要求的漢字,所以採用了2\4位混和的辦法,可以支援更多的漢字編碼。
三、ANSI
為了擴充ASCII編碼,以用於顯示本國的語言,不同的國家和地區制定了不同的標準,由此產生了GB2312 , BIG5, JIS等各自的編碼標準。這些使用 2 個位元組來代表一個字元的各種漢字延伸編碼方式,稱為 ANSI 編碼,又稱為"MBCS(Muilti-Bytes Charecter Set,多位元組字元集)"。在簡體中文系統下,ANSI 編碼代表 GB2312 編碼,在日文操作系統下,ANSI 編碼代表 JIS 編碼,所以在中文 windows下要轉碼成gb2312,gbk只需要把文字儲存為ANSI 編碼即可。 不同 ANSI 編碼之間互不相容。
四、本地字元集
在中國大陸使用的電腦系統上, GBK和GB2312就被稱為該系統的本地字元集。
"中國 " 的中字,在中國大陸的編碼是16進制的D6D0,在台灣是 A4A4 台灣的編碼稱為BIG5 大五碼。在一個國家的本地化系統中出現的一個字符,通過電子郵件傳到另外一個國家的本地化系統中,看到的就不是那個原始字符了,而是另外一個國家的字符或亂碼。
五、Unicode編碼
ISO 組織將全世界的符號進行了統一,稱之為Unicode編碼。
「中」這個符號,在全世界都是16進位的 4e2d。 如果所有的電腦都使用Unicode編碼,則"中"這個字,在全世界上的電腦上都能顯示為"中",Unicode 編碼的字元佔用兩個位元組大小,對於AC11 碼所表示的字元,只是簡單地在AS11碼原來佔用的一個字節的前面,增中一個所有bits為0的字節, 它表示的字符的個數不會超過65535 ,實際上,它還保留了2000多個數值沒有用於編碼。
unicode 一統天下的局面還沒有形成,在相當長時間內,本地化字元編碼將與Unicode編碼共存
java中的字元使用的都是Unicode編碼。
java在透過Unicode保證跨平台的特性前提下,也支援本地平台字元集。
六、UTF-8
在java語言和其他程式的開發過程中.特別是XML 也涉及到UTF-8 UTF-16。廣義的unicode也包含 UTF8 和utf-16
UTF-8
--ASC11碼字元保持原樣,伋然只佔用一個位元組。
--對於其他國家的字元,UTF-8 使用2個或三個位元組來表示。
--使用utf-8 編碼的檔案,通常都要用 EF BB BF 作為檔案開頭的三個位元組資料。
七、UTF-8和unicode編碼之間的轉換規則
-- 0001-007f (一個位元組)
0xxxxxx
-- 0000或其泛圍在 0080 到 07ff之間的字元,
110xxxxx 10xxxxxx (11個有效bit位) (0080-07ff之間)一個unicode有16位,實際上只有11個有效位,其餘都是標誌。
-- 0800 到ffff 之間的字元,1110xxxx 10xxxxxx 10xxxxxxxxx (16位元有效位元),軟體很容易根據UTF-8 編碼中那些固定不變的bit值,來確定一個字元佔用的是一個位元組,還是兩個位元組,還是三個位元組。
八、UTF-8的優點
-- 不出現ox00 (在c語言中,\0 代表符串的結束結束標誌,說明已經到了字符串的結尾)unicode 中 對於ACS11 字元,它都要佔用兩個位元組,增加一個內容為空(0x00)的位元組,浪費,而且這個位元組,在C語言和其他程式有中特殊的應用。
-- 便於應用程式檢查資料在傳輸中是否發生了錯誤 它可以檢查出資料傳輸過程中是否出現了錯誤 。
-- 直接處理使用ASC11的文檔
九、聯通,聯想和聯
在記事本中輸入聯通聯想,聯,查看.分別會看到一些錯誤狀況
聯通(或聯絡) 出現亂碼
用ue打開,查看16進制,分別是C1AA CDA8 C1AA CFE8 //這些都是用的GB2312編碼如果是中,則是D6D0,也就是 C1AA 是聯CDA8 是通CFE8是想。可以用以下方式得到它產的二進位表示:
int x=0xCDA8; System.out.println(Integer.toBinaryString(x) );
//11000001 10101010 聯 11001101 10101000 11001101 10101000 11001101 10101000 11001101 10101000 11001101 10101000 11001101 10101000 #. GB2312來存諸的,所以"聯"字就被解析成了1100 0001 1010 1010 ,通字就被存成了1100 1101 1010 1000, 打開記事本文檔的時候,這些二進制形式, UTF-8 的規則,所以系統就認為這是一個UTF-8 編碼的文件就按UTF-8來解釋,出現了亂碼,解決的方法:保存的時候,直接按utf-8 保存就不會出現了。
第十、用程式查看字元的編碼查看中文字元的GB2312 碼
查看中文字元的UTF-8 碼
查看中文字元的Unicode 碼
public static void main(String[] args) throws UnsupportedEncodingException { String str="中国"; //查看字符的unicode码,将一个字符转成整数,得到的就是unicode值/* for(int i=0;i<str.length><div class="cnblogs_code"># </div></str.length>
以上是Java基礎入門之字符編碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要整理了Stream流的概念和使用的相关问题,包括了Stream流的概念、Stream流的获取、Stream流的常用方法等等内容,下面一起来看一下,希望对大家有帮助。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境