日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

13、字符集和字符编码

發布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 13、字符集和字符编码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字符集:字符集是多個字符的集合,常見字符集有:ASCII字符集、GB2312字符集、GB18030字符集、Unicode字符集等。

??????? ASCII字符集:是英文大小寫字符、阿拉伯數字和西文符號的一個集合。(可以看一下電腦鍵盤上的鍵,基本就是這些字符)

??????? GB2312字符集:主要包含簡體中文字符。

??????? GB10830字符集:基本包含所有中文字符,包括繁體字、少數民族字等。

??????? Unicode字符集:基本包括全世界所有用到的字符,常用字符集。

?

字符編碼:我理解的字符編碼是指編碼的一種規則,根據對應字符集將字符按著某一規則改編成一組序列。常用的編碼方式有:ASCII編碼、GBK編碼、GB2312編碼、Unicode編碼、UTF-8編碼。最常用的還是utf-8編碼。

?????? ASCII編碼:一個字符占用一個字節。

?????? GBK編碼:和ASCII中相同的字符還是用一個,而其他用兩個字節。

?????? Unicode編碼:全部使用四個字節來存儲

?????? UTF-8編碼:對Unicode做了優化,可以根據不同的符號自動選擇編碼的長短,例如:英文字母一個字節足矣,而漢字就需要三個字節存儲才可以。流行的編碼方式。

?

?????? 將數據存儲在內存中獲取磁盤中時都是以字節形式進行存儲,一個字節占用8位,例如:我現在想要存儲“你是誰”這三個字到記事本,雖然看到的是記事本三個字,但是存儲在磁盤上的卻不是,而是將“我是誰”這三個字看成三個字符,然后根據使用的字符集找到每個字符對應的字節碼,然后根據編碼方式將字節碼編碼成一個序列,最后進行存儲。

可以通過java代碼看到字符對應的在字符集中對應的碼,代碼如下:

public class EncodingAndCharsetTest {public static void main(String[] args) {String s1 = "你是誰";String s2 = "who are you";byte[] bytes = s1.getBytes();//打印結果:-28 -67 -96 -26 -104 -81 -24 -80 -127for (byte b : bytes) {System.out.print(b+" ");}System.out.println();System.out.println("--------------");byte[] bytes2 = s2.getBytes();System.out.println(bytes2.length);//打印結果:119 104 111 32 97 114 101 32 121 111 117for (byte b : bytes2) {System.out.print(b+" ");}} }

?????? 之前使用流操作時,有的時候會出現亂碼現象就是因為編碼問題,只要讀和寫用的不是同一套字符集和字符編碼,就可能出現亂碼現象。

總結

以上是生活随笔為你收集整理的13、字符集和字符编码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。