課程全名:編程幼兒園-快速攻破編程學(xué)習(xí)障礙,自10月11日開始,每周三開課局冰,共6次課程,至11月15日結(jié)束灌危。因之前報(bào)名參加了新生大學(xué)的JavaScript編程入門課康二,獲得了免費(fèi)聽課資格。現(xiàn)在JavaScript的課程已結(jié)束(未能跟上課程節(jié)奏乍狐,還在補(bǔ)課進(jìn)度中)赠摇,穿插學(xué)習(xí)這門課程,查缺補(bǔ)漏,鞏固學(xué)習(xí)基礎(chǔ)知識(shí)藕帜。
本課主題:內(nèi)容和顯示
授課老師:楊兵兵
一烫罩、字符編解碼的基本知識(shí)(本課最重要)
計(jì)算機(jī)信息的底層傳輸最終被映射成由0、1組成的二進(jìn)制流洽故。
文字的編解碼定義
1.編碼:如何將文字圖片等信息以一定的運(yùn)算轉(zhuǎn)換成二進(jìn)制流的形式
2.解碼:將二進(jìn)制流通過一定運(yùn)算轉(zhuǎn)變成能夠識(shí)別的文字圖片等信息的過程
一個(gè)編碼贝攒、解碼的過程,以發(fā)送電報(bào)舉例:
發(fā)件人漢字寫下內(nèi)容-->發(fā)報(bào)員參照編碼表找出漢字對(duì)應(yīng)的數(shù)字(4個(gè)數(shù)字對(duì)應(yīng)一個(gè)漢字)-->接報(bào)員參照編碼表找出數(shù)字對(duì)應(yīng)的漢字-->收件人时甚。
常用編碼字符集
ASCII碼(英文所包含的字符)隘弊、擴(kuò)展的ASCII碼(ASCII基礎(chǔ)上擴(kuò)展的歐洲的一些文字)、Unicode符號(hào)集(完整的字符集荒适,可以說是一個(gè)包含所有文字的標(biāo)準(zhǔn))梨熙、UTF-8(Unicode一種實(shí)現(xiàn)方式)、GB2312/GBK/GB18030(漢字刀诬,國標(biāo))
編解碼能夠幫助我們認(rèn)識(shí)的問題
亂碼:由于發(fā)送方與接收方的編碼表不同時(shí)咽扇,編碼解碼后的顯示會(huì)形成亂碼。
工作生活中常見的亂碼問題的解決辦法:
1. 檢查文件打開軟件的編碼與文件保存軟件的編碼是否一致陕壹,即是否支持文件格式质欲,如果支持,僅需要調(diào)整一下編碼方式即可糠馆。如Mac電腦的中文默認(rèn)編碼方式是UTF-8嘶伟,而Windows電腦的中文默認(rèn)編碼方式是GB2312。
2. 如果通過不支持格式的軟件打開又碌,一定會(huì)是亂碼九昧,并且無法通過調(diào)整編碼方式來消除。
舉例:
(1)Mac和Windows的郵件系統(tǒng)互發(fā)郵件時(shí)經(jīng)常會(huì)出現(xiàn)亂碼現(xiàn)象毕匀,即編碼方式問題耽装。
(2)瀏覽器打開網(wǎng)頁時(shí)若發(fā)現(xiàn)亂碼,可嘗試:右鍵點(diǎn)擊網(wǎng)頁空白處-->“檢查元素”-->查看編碼方式(類似形式:< script id="init-script" type="text/javascript" charset="utf-8" >)-->可知編碼方式為UTF-8-->點(diǎn)擊瀏覽器“顯示”--“文本編碼”-->點(diǎn)選“Unicode(UTF-8)”后即可正常顯示期揪。
注:1.課上舉例過程使用safari瀏覽器演示掉奄,提到Chrome瀏覽器以前有此功能,現(xiàn)無此功能凤薛;2.如發(fā)現(xiàn)safari中未發(fā)現(xiàn)“檢查元素”選項(xiàng)姓建,可點(diǎn)擊safari的“偏好設(shè)置”-->點(diǎn)選“高級(jí)”頁面框-->勾選底部“在菜單欄中顯示“開發(fā)”菜單”,返回查看即可發(fā)現(xiàn)“檢查元素”缤苫。(25m)
二速兔、文本和樣式
Word中的樣式
不同的樣式,也是不同的編碼方式活玲,Word采用自行規(guī)定的協(xié)議涣狗,對(duì)二進(jìn)制流進(jìn)行重新編碼谍婉,因?yàn)椴⒉婚_源,其他無法執(zhí)行Word內(nèi)部協(xié)議的軟件打開即為亂碼镀钓。
樣式的作用
豐富的樣式可方便的提供更加清晰穗熬、美觀的閱讀體驗(yàn)。除了Word使用了樣式丁溅,瀏覽器的網(wǎng)頁唤蔗、PDF、其他電子書等都有不同的樣式窟赏。
文件擴(kuò)展名
標(biāo)識(shí)文件類型妓柜、什么軟件可以打開此文件。
注意一個(gè)坑——隱藏?cái)U(kuò)展名涯穷,修改文件類型即后綴時(shí)棍掐,可能未能真正修改,注意查看文件根目錄中拷况,去掉“隱藏?cái)U(kuò)展名”選項(xiàng)塌衰。可避免一些異常問題蝠嘉。(35m)
三、不可見字符
什么是不可見字符:空格杯巨、回車換行蚤告、制表符等等肉眼看不見的占位字符。
不可見字符的作用:實(shí)現(xiàn)功能控制或配合樣式等實(shí)現(xiàn)相應(yīng)編輯功能服爷。
如何處理不可見字符:查找杜恰、替換、刪除仍源、格式刷(批量處理)等心褐。(45m)
新大CTO徐高陽助陣串場(chǎng)
關(guān)于不可見字符
分享一個(gè)段子:早年間因同事誤按大量空格引發(fā)的代碼問題排查事件——不能忽視不可見字符在編程以及其他操作中的作用。(同時(shí)也提到笼踩,早年間的編譯器無法自動(dòng)識(shí)別消除大量空格逗爹,現(xiàn)在的編譯器通常具備此類功能。)
關(guān)于文件名嚎于、文件后綴掘而、富文本
養(yǎng)成編寫代碼時(shí),首先要保存為合適的文件名及后綴于购。
富文本格式(Rich Text Format, 一般簡(jiǎn)稱為RTF)袍睡,不僅存儲(chǔ)了文件的內(nèi)容,并且把內(nèi)容的信息存儲(chǔ)在格式里肋僧,比編碼信息高級(jí)了一層斑胜,還帶了格式的信息控淡。Markdown不算是富文本,是HTML+CSS的標(biāo)記語言止潘,可通過富文本方式進(jìn)行編輯掺炭。
關(guān)于新生大學(xué)課程學(xué)習(xí)的探索分享
目標(biāo)不僅僅是一個(gè)課程,上完就結(jié)束覆山,而是希望真正能幫助學(xué)員達(dá)到真正程序員的素質(zhì)竹伸,盡可能多的幫助大家提高。后期或許會(huì)采取導(dǎo)師方式簇宽,帶動(dòng)大家一起進(jìn)步勋篓,同時(shí)也需要大家時(shí)間精力上的付出,掉隊(duì)是會(huì)比較遺憾魏割。
不用UTF-8譬嚣,就是耍流氓
因?yàn)楝F(xiàn)在的代碼是會(huì)上傳網(wǎng)絡(luò),與大家分享钞它、交流的拜银,當(dāng)你不用UTF-8時(shí),別人打開時(shí)是亂碼遭垛,這就很不合適尼桶。
有沒有一種編碼格式可以兼容任何一種字符編碼?
理論上肯定是有锯仪,8位的UTF-8可能不夠用泵督,進(jìn)行了拓展至16位的UTF-16,再不夠可以32位的UTF-32庶喜。類似網(wǎng)絡(luò)設(shè)備需求的暴增小腊,現(xiàn)有IP地址存在不夠用的問題,因此逐步由IPV4升級(jí)為IPV6久窟。但在目前的計(jì)算機(jī)領(lǐng)域秩冈,UTF-8基本夠用,所以現(xiàn)在最廣泛使用的是UTF-8斥扛。
學(xué)習(xí)是個(gè)人的事
微信群的沉淀能力偏弱入问,利用國慶期間搭建的網(wǎng)站小白學(xué)編程(http://code.7xinsheng.com/),希望大家更多的交流學(xué)習(xí)~稀颁!