欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java字符編碼與解碼

1、字符編碼的發(fā)展歷程

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),廣安企業(yè)網(wǎng)站建設(shè),廣安品牌網(wǎng)站建設(shè),網(wǎng)站定制,廣安網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,廣安網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

  ①、ASCII 碼

因為計算機只認識數(shù)字,所以我們在計算機里面的一切數(shù)據(jù)都是以數(shù)字來表示,因為英文字符有限,所以規(guī)定使用的字節(jié)的最高位是 0,每一個字節(jié)都是以 0-127 之間的數(shù)字來表示。比如 A 對應(yīng) 65,a 對應(yīng) 97。這便是 美國標準信息交換碼,ASCII

1
2
3
String str = new String("Aa");
byte[] strASCII = str.getBytes("ASCII");
System.out.println(Arrays.toString(strASCII));//[65, 97]

②、GB2312 碼

隨著計算機在全球的普及,很多國家和地區(qū)都把自己的字符引入了計算機,比如漢字。此時發(fā)現(xiàn)一個字節(jié)能表示的數(shù)字范圍太小,不能包含所有的中文漢字。那么就規(guī)定使用兩個字節(jié)來表示一個漢字。

規(guī)定:原有的 ASCII 字符的編碼保持不變,仍然使用一個字節(jié)表示,為了區(qū)別一個中文字符與兩個 ASCII 碼字符相區(qū)別。中文字符的每個字節(jié)最高位規(guī)定為 1(即中文的二進制是負數(shù)),這便是 GB2312 編碼

1
2
3
String str = new String("Aa帥鍋");
byte[] strASCII = str.getBytes("GB2312");
System.out.println(Arrays.toString(strASCII));//[65, 97, -53, -89, -71, -8]

③、GBK

由于中國漢字太多,在 GB2312 的基礎(chǔ)上增加了更多的中文字符,這種編碼是 GBK

 

問題:如果只是在中國,那么大家都認識漢字,但是如果是別的國家,而該國家的碼表中是沒有收錄漢字的。那么計算機在顯示的時候就為亂碼或是別的字符

 

解決辦法:為了解決各個國家因為本地化字符編碼帶來的影響,就把全世界所有的字符統(tǒng)一進行編碼---Unicode 編碼

此時某一個字符在全世界任何地方顯示都是固定的,比如漢字 哥,在任何地方都是以十六進制 54E5 來表示。

Unicode 的字符編碼都占有兩個字節(jié)

 

④、UTF-8

是一種針對 Unicode 的可變長度字符編碼,又稱為 萬國碼,是 Unicode 的實現(xiàn)方式之一。編碼中的第一個字節(jié)仍與 ASCII 兼容,這使得原來處理 ASCII 字符的軟件無須或只需做少部分修改,即可繼續(xù)使用。因此,它逐漸成為電子郵件、網(wǎng)頁及其他存儲或傳送文字的應(yīng)用中,優(yōu)先采用的編碼?;ヂ?lián)網(wǎng)工程工作小組(IETF)要求所有互聯(lián)網(wǎng)協(xié)議都必須支持 UTF-8 編碼

1
2
3
String str = new String("Aa帥鍋");
byte[] strASCII = str.getBytes("UTF-8");
System.out.println(Arrays.toString(strASCII));//[65, 97, -27, -72, -123, -23, -108, -123]

 

存儲字母、數(shù)字:無論什么字符集都占有 1 個字節(jié)

存儲漢字:GBK 家族占有 2 個字節(jié)。UTF-8 占有 3 個字節(jié)

       不能使用單字節(jié)的字符集(ASCII/ISO-8859-1)來存儲中文

 

 

 

2、字符的編碼和解碼

  信息在計算機網(wǎng)絡(luò)中傳輸是以字節(jié)的形式。那么如何變?yōu)樽止?jié)?這就是編碼的過程。那么計算機接收了這個編碼,如何讓使用者認識呢?那必須要將字節(jié)轉(zhuǎn)換為人所識別的字符串形式,這就是解碼的過程。

 

編碼:將字符串轉(zhuǎn)換為 byte 數(shù)組

解碼:把 byte 數(shù)組轉(zhuǎn)換為 字符串

注意:①、編碼格式和解碼格式必須一致,否則亂碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
String str = new String("Aa帥鍋");
        //編碼操作
        byte[] strByte = str.getBytes("GBK");
        System.out.println(Arrays.toString(strByte));//[65, 97, -53, -89, -71, -8]
         
        //解碼操作 
        //注意編碼的字符集和解碼的字符集格式必須一致(是其擴展字符集也可以),否則會亂碼
        //第一種:編碼格式為 GBK,解碼格式為 ISO-8859-1  那么就會亂碼
        String str2 = new String(strByte,"ISO-8859-1");
        System.out.println(str2); //Aa?§??
         
        //第二種:編碼和解碼格式一致
        String str3 = new String(strByte,"GBK");
        System.out.println(str3); //Aa帥鍋

②、有時候編碼為和解碼格式一致了,但是還是亂碼,這是因為在數(shù)據(jù)在傳輸過程中經(jīng)過服務(wù)器的處理,而這個服務(wù)器可能是外國人編寫的,那么就會將數(shù)據(jù)轉(zhuǎn)換為 別的字符格式,那么你如果還是直接轉(zhuǎn)為自己想要的格式是會亂碼的。

解決辦法:先獲取經(jīng)過服務(wù)器之后的數(shù)據(jù)還原編碼,然后在進行解碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
String str = new String("Aa帥鍋");
        //編碼操作
        byte[] strByte = str.getBytes("UTF-8");
        System.out.println(Arrays.toString(strByte));//[65, 97, -27, -72, -123, -23, -108, -123]
         
         
        //中間經(jīng)過了服務(wù)器的傳輸,編碼格式轉(zhuǎn)成了 ISO-8859-1
        String str2 = new String(strByte,"ISO-8859-1");
         
        //解碼操作  ,此時如果直接進行解碼,那么會亂碼
        String str3 = new String(str2.getBytes(),"UTF-8");
        System.out.println(str3); //Aa???????
         
        //對于上面的亂碼,我們必須先還原服務(wù)器之前的編碼格式,然后在進行解碼。那么就不會亂碼
        byte[] strByte2 = str2.getBytes("ISO-8859-1");
        String str4 = new String(strByte2,"UTF-8");
        System.out.println(str4); //Aa帥鍋

當前文章:Java字符編碼與解碼
分享地址:http://aaarwkj.com/article20/godico.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、App開發(fā)云服務(wù)器、網(wǎng)站建設(shè)、建站公司、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
国产精品久久99粉嫩| 亚洲日本欧美一区二区| 一区二区三区欧美日韩| 中文字幕人妻秘书社长| 国产精品日韩经典中文字幕| 一区二区三区日韩电影在线| 国产亚洲综合一区二区三区| 亚洲男人天堂日本一区| 午夜一区二区精品视频国产 | 欧美成人午夜福利在线视频| 亚洲精品午夜久久久伊人| 欧美高清一区二区在线播放| 在线不卡日本v二区到六区| 免费观看国内性生活大片| 日本精品视频一区二区三区| 国产99久久精品免费看| 欧美制服丝袜亚洲自拍偷拍| 午夜少妇伦理一区二区| 日本欧美自拍偷拍高清| 日本高清一区二区高清| 午夜影院免费在线观看五分钟| 中文字幕国产精品综合| 国产又猛又黄又爽无遮挡| 无遮挡国产精品一级二级三级视频| 日本亚洲中文字幕网站| 97视频免费观看在线| 天天操天天射夜夜撸| 丰满人妻被猛烈进入中文版| 成人黄色av免费看| 黄色录像黄色片黄色片| 人妻人人澡人人添人人爽桃色| 少妇精品偷拍高潮少妇在线观看 | 一区二区三区视频观看在线| 欧美日韩欧美黄色三级| 亚洲成人日韩欧美在线| 97碰碰视频在线观看| 成人黄色大片免费看| 亚洲一区二区三区久久伊人| 日本一道二区三区我不卡| 2020亚洲欧美日韩在线| 偷怕自拍在线免费观看|