python第二十八课——编码小常识
生活随笔
收集整理的這篇文章主要介紹了
python第二十八课——编码小常识
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2.內(nèi)存和硬盤:
內(nèi)存:計(jì)算機(jī)硬件組成部分之一,它是一個(gè)容器,用來(lái)存儲(chǔ)數(shù)據(jù);處理數(shù)據(jù)速度快,
存儲(chǔ)數(shù)據(jù)量小;斷電死機(jī)數(shù)據(jù)會(huì)丟失,短暫性存儲(chǔ)數(shù)據(jù)
硬盤:計(jì)算機(jī)硬件組成部分之一,它是一個(gè)容器,用來(lái)存儲(chǔ)數(shù)據(jù);處理數(shù)據(jù)速度慢,
存儲(chǔ)數(shù)據(jù)量大,斷電死機(jī)數(shù)據(jù)不會(huì)丟失,數(shù)據(jù)的持久存儲(chǔ)
3.字節(jié)和字符
字節(jié):計(jì)算機(jī)的存儲(chǔ)數(shù)據(jù)的單位,底層唯一能夠識(shí)別并且運(yùn)算的數(shù)據(jù)
字符:人類將字節(jié)封裝為另一種能直接識(shí)別的數(shù)據(jù)單位,底層還是字節(jié)
4.如何區(qū)分字節(jié)文件和字符文件
如果使用文本編輯器打開能看得懂(不會(huì)亂碼)那它就是一個(gè)字符文件,
反之,它是一個(gè)字節(jié)文件
提問(wèn):常見的字節(jié)文件和字符文件有哪些?(枚舉出一些)
字節(jié)文件:圖片文件(.jpg、.png...)、視頻文件(.avi、.mp4、.rmb...)、音頻文件(.mp3...)
字符文件:.txt、.py、.java、.js、.html、.css、.php...
思考:.doc結(jié)尾的文件是字節(jié)還是字符文件?
是字節(jié)文件,因?yàn)?doc結(jié)尾的文件中既可以包含字符內(nèi)容,也可以包含圖片、顏色設(shè)置...操作
思考:計(jì)算機(jī)數(shù)據(jù)層面,一切皆字節(jié),對(duì)不對(duì)?
對(duì)的;因?yàn)橛?jì)算機(jī)底層唯一能夠識(shí)別和運(yùn)算的都是字節(jié)數(shù)據(jù)...
5.字符編碼(字符集)
ascii碼表:U.S.A設(shè)計(jì)出來(lái)的,范圍非常小;不包含很多國(guó)家的文字,英文字符占用內(nèi)存1個(gè)字節(jié)
utf-8碼表:現(xiàn)今比較通用的一張編碼表,包含了世界上所有的文字內(nèi)容,范圍:0~65535之間,
1個(gè)漢字占用內(nèi)存3個(gè)字節(jié),1個(gè)英文字符占用內(nèi)存1個(gè)字節(jié)
gbk碼表:gbk屬于gb2312的擴(kuò)充版,兼容了gb2312中的所有字符,加入更多的一些漢字內(nèi)容,
1個(gè)漢字占用內(nèi)存2個(gè)字節(jié),1個(gè)英文字符占用內(nèi)存1個(gè)字節(jié),
在我們中國(guó)環(huán)境下,大多數(shù)情況默認(rèn)的都是gbk作為編碼
6.編碼和解碼:
編碼:讓數(shù)據(jù)從看的懂到看不懂,就是編碼
解碼:讓數(shù)據(jù)從看不懂到看得懂,就是解碼
【注意】
編碼和解碼如果不一致會(huì)怎么樣?
1).會(huì)出現(xiàn)亂碼現(xiàn)象
2).會(huì)報(bào)錯(cuò)
不管是上述的1還是2都是不理想的結(jié)果,我們都需要避免
字符串的兩個(gè)函數(shù)引入:
encode(encoding,errors):對(duì)字符串?dāng)?shù)據(jù)進(jìn)行編碼操作,得到一個(gè)bytes類型的數(shù)據(jù)
decode(encoding,errors):對(duì)字符串?dāng)?shù)據(jù)進(jìn)行解碼操作,得到一個(gè)str類型的數(shù)據(jù)
演示eccode()和decode()函數(shù)的使用: str1='哈哈呵呵'#編碼:encode() b=str1.encode(encoding='utf-8') print(b,type(b))#解碼:decode() str2=b.decode('utf-8','ignore') print(str2,type(str2))
轉(zhuǎn)載于:https://www.cnblogs.com/hankleo/p/10440171.html
總結(jié)
以上是生活随笔為你收集整理的python第二十八课——编码小常识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 京东白条怎么学生认证?认证步骤详解
- 下一篇: python用户交互、基本数据类型、运算