引言
我相信很多人在初接觸編程時(shí),都被字符集狠狠地虐過(guò),特別是數(shù)據(jù)庫(kù)的中文亂碼問(wèn)題,那么亂碼是怎么產(chǎn)生的呢? 我們都知道計(jì)算機(jī)是以二進(jìn)制存儲(chǔ)和運(yùn)行的,那么它是怎么把二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為各種文字的呢? 還有我們常用的各種字符集,常用的編碼轉(zhuǎn)換,都是怎么進(jìn)行的呢?
本博文所寫的內(nèi)容不是技術(shù)干貨,只是對(duì)我們常用的字符集和編碼的一個(gè)小總結(jié),小科普。我相信讀完本文,您應(yīng)該對(duì) 字符集和常見編碼方式 有個(gè)差不多的認(rèn)識(shí)了。
ASCII碼
ASCII碼(American Standard Code for Information Interchange,美國(guó)信息交換標(biāo)準(zhǔn)代碼)應(yīng)該是我們最初接觸過(guò)的編碼方式了,編程最常用的字符都被它包括在內(nèi)。它使用7bit來(lái)表示 128(2e7)個(gè)字符,最高位固定為 0,共占用一個(gè)字節(jié)。其中:
0~31 及 127(共33個(gè))是控制字符或通信專用字符(其余為可顯示字符),如控制符:TAB(制表符)、CR(回車)、DEL(刪除)、BS(退格)等,常用的ASCII值為 8、9、10 和13 分別轉(zhuǎn)換為退格、制表、換行和回車字符。
48~57 為 0 到 9 十個(gè)阿拉伯?dāng)?shù)字。
65~90 為 26 個(gè)大寫英文字母,97~122 號(hào)為 26 個(gè)小寫英文字母,其余為一些標(biāo)點(diǎn)符號(hào)、運(yùn)算符號(hào)等。
32~47,58~64,123~126 代表常用標(biāo)點(diǎn)符號(hào)(:‘等);
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26