chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python字符與字節(jié)

麥辣雞腿堡 ? 來(lái)源:Python都知道 ? 作者:了不起 ? 2023-07-05 15:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一個(gè)字符不等價(jià)于一個(gè)字節(jié),字符是人類(lèi)能夠識(shí)別的符號(hào),而這些符號(hào)要保存到計(jì)算的存儲(chǔ)中就需要用計(jì)算機(jī)能夠識(shí)別的字節(jié)來(lái)表示。一個(gè)字符往往有多種表示方法,不同的表示方法會(huì)使用不同的字節(jié)數(shù)。這里所說(shuō)的不同的表示方法就是指字符編碼,比如字母A-Z都可以用ASCII碼表示(占用一個(gè)字節(jié)),也可以用UNICODE表示(占兩個(gè)字節(jié)),還可以用UTF-8表示(占用一個(gè)字節(jié))。字符編碼的作用就是將人類(lèi)可識(shí)別的字符轉(zhuǎn)換為機(jī)器可識(shí)別的字節(jié)碼,以及反向過(guò)程。

UNICDOE才是真正的字符串,而用ASCII、UTF-8、GBK等字符編碼表示的是字節(jié)串。關(guān)于這點(diǎn),我們可以在Python的官方文檔中經(jīng)??梢钥吹竭@樣的描述"Unicode string" , " translating a Unicode string into a sequence of bytes"

我們寫(xiě)代碼是寫(xiě)在文件中的,而字符是以字節(jié)形式保存在文件中的,因此當(dāng)我們?cè)谖募卸x個(gè)字符串時(shí)被當(dāng)做字節(jié)串也是可以理解的。但是,我們需要的是字符串,而不是字節(jié)串。一個(gè)優(yōu)秀的編程語(yǔ)言,應(yīng)該嚴(yán)格區(qū)分兩者的關(guān)系并提供巧妙的完美的支持。JAVA語(yǔ)言就很好,以至于了解Python和PHP之前我從來(lái)沒(méi)有考慮過(guò)這些不應(yīng)該由程序員來(lái)處理的問(wèn)題。遺憾的是,很多編程語(yǔ)言試圖混淆“字符串”和“字節(jié)串”,他們把字節(jié)串當(dāng)做字符串來(lái)使用,PHP和Python2都屬于這種編程語(yǔ)言。最能說(shuō)明這個(gè)問(wèn)題的操作就是取一個(gè)包含中文字符的字符串的長(zhǎng)度:

  • 對(duì)字符串取長(zhǎng)度,結(jié)果應(yīng)該是所有字符串的個(gè)數(shù),無(wú)論中文還是英文
  • 對(duì)字符串對(duì)應(yīng)的字節(jié)串取長(zhǎng)度,就跟編碼(encode)過(guò)程使用的字符編碼有關(guān)了(比如:UTF-8編碼,一個(gè)中文字符需要用3個(gè)字節(jié)來(lái)表示;GBK編碼,一個(gè)中文字符需要2個(gè)字節(jié)來(lái)表示)

注意:Windows的cmd終端字符編碼默認(rèn)為GBK,因此在cmd輸入的中文字符需要用兩個(gè)字節(jié)表示

>>> # Python2

>>> a = 'Hello,中國(guó)' # 字節(jié)串,長(zhǎng)度為字節(jié)個(gè)數(shù) = len('Hello,')+len('中國(guó)') = 6+2*2 = 10

>>> b = u'Hello,中國(guó)' # 字符串,長(zhǎng)度為字符個(gè)數(shù) = len('Hello,')+len('中國(guó)') = 6+2 = 8

>>> c = unicode(a, 'gbk') # 其實(shí)b的定義方式是c定義方式的簡(jiǎn)寫(xiě),都是將一個(gè)GBK編碼的字節(jié)串解碼(decode)為一個(gè)Uniocde字符串

>>>

>>> print(type(a), len(a))

(, 10)

>>> print(type(b), len(b))

(, 8)

>>> print(type(c), len(c))

(, 8)

>>>

Python3中對(duì)字符串的支持做了很大的改動(dòng)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    969

    瀏覽量

    55782
  • 字符
    +關(guān)注

    關(guān)注

    0

    文章

    237

    瀏覽量

    25597
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86763
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    探究python字節(jié)

    就是Python的“字節(jié)碼”文件。(但在Python 3上卻難覓其蹤 -- 原因是它們不再與.py文件出現(xiàn)在同一個(gè)目錄中,而是放在一個(gè)名為_(kāi)_pycache__的子目錄中了)?;蛟S你也已聽(tīng)說(shuō)過(guò)這是一種
    發(fā)表于 05-22 15:48

    python字符串拼接方式了解

    python字符串拼接的方式 在Python的實(shí)際開(kāi)發(fā)中,很多都需要用到字符串拼接,python字符
    發(fā)表于 12-06 10:09 ?1107次閱讀

    字符流和字節(jié)流有什么那區(qū)別

    字符流在Java中,根據(jù)處理的數(shù)據(jù)單位不同,分為字節(jié)流和字符流。字符流是由字符組成的,例如 FileReader、FileWriter、Bu
    發(fā)表于 12-20 17:46 ?8216次閱讀
    <b class='flag-5'>字符</b>流和<b class='flag-5'>字節(jié)</b>流有什么那區(qū)別

    Python轉(zhuǎn)義字符使用總結(jié)資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Python轉(zhuǎn)義字符使用總結(jié)資料免費(fèi)下載主要內(nèi)容包括了:Python轉(zhuǎn)義字符,Python
    發(fā)表于 01-17 17:24 ?6次下載
    <b class='flag-5'>Python</b>轉(zhuǎn)義<b class='flag-5'>字符</b>使用總結(jié)資料免費(fèi)下載

    什么是復(fù)制字符串?Python如何復(fù)制字符

    連續(xù)幾篇文章都在寫(xiě) Python 字符串,這出乎我的意料了。但是,有的問(wèn)題,不寫(xiě)不行,特別是那種靈機(jī)一動(dòng)想到的問(wèn)題,最后你發(fā)現(xiàn),很多人根本不懂卻又誤以為自己懂了。那就繼續(xù)刨根問(wèn)底,探究個(gè)明白吧
    發(fā)表于 11-25 10:32 ?3206次閱讀

    Python字符的實(shí)例詳細(xì)說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Python字符的實(shí)例詳細(xì)說(shuō)明包括了:Python 轉(zhuǎn)義字符,Python
    發(fā)表于 10-14 17:13 ?7次下載
    <b class='flag-5'>Python</b><b class='flag-5'>字符</b>的實(shí)例詳細(xì)說(shuō)明

    Python字符數(shù)統(tǒng)計(jì)函數(shù)程序

    Python字符數(shù)統(tǒng)計(jì)函數(shù)程序免費(fèi)下載。
    發(fā)表于 05-25 14:35 ?19次下載

    2.2 python字符串類(lèi)型

    2.2 python字符串類(lèi)型 1. 如何定義字符串? 字符串是Python中最常用的數(shù)據(jù)類(lèi)型之一。 使用單引號(hào)或雙引號(hào)來(lái)創(chuàng)建
    的頭像 發(fā)表于 02-17 17:08 ?1656次閱讀

    Python-字符

    字符串就是 一串字符 ,是編程語(yǔ)言中表示文本的數(shù)據(jù)類(lèi)型,在Python中使用一對(duì)雙引號(hào) "" 或者一對(duì)單引號(hào)來(lái)定義.
    的頭像 發(fā)表于 02-16 15:05 ?1655次閱讀
    <b class='flag-5'>Python</b>-<b class='flag-5'>字符</b>串

    python字符串有哪些特定方法

    python字符串序列操作也適用于列表和元組。 python字符串還有獨(dú)有方法,即字符串對(duì)象的函數(shù),其他對(duì)象不可調(diào)用,只有
    的頭像 發(fā)表于 02-23 15:02 ?964次閱讀

    python字符串編寫(xiě)有哪些方法

    python通過(guò)反斜杠\開(kāi)頭來(lái)轉(zhuǎn)義特殊字符。比如用’\n’轉(zhuǎn)義換行符。 len()函數(shù)中,一個(gè)轉(zhuǎn)義字符占1個(gè)長(zhǎng)度。
    的頭像 發(fā)表于 02-23 15:02 ?667次閱讀

    淺析python字符串模式匹配

    python字符串可以通過(guò)re模塊的模式匹配來(lái)處理文本。
    的頭像 發(fā)表于 02-23 15:04 ?2543次閱讀

    Python2與Python3中對(duì)字符串的支持

    其實(shí)Python3中對(duì)字符串支持的改進(jìn),不僅僅是更改了默認(rèn)編碼,而是重新進(jìn)行了字符串的實(shí)現(xiàn),而且它已經(jīng)實(shí)現(xiàn)了對(duì)UNICODE的內(nèi)置支持,從這方面來(lái)講Python已經(jīng)和JAVA一樣優(yōu)秀。
    的頭像 發(fā)表于 07-05 16:15 ?989次閱讀

    Python字符編碼轉(zhuǎn)換

    UNICODE字符串可以與任意字符編碼的字節(jié)進(jìn)行相互轉(zhuǎn)換,如圖: 那么大家很容易想到一個(gè)問(wèn)題,就是不同的字符編碼的字節(jié)可以通過(guò)Unicode
    的頭像 發(fā)表于 07-05 16:25 ?1451次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>字符</b>編碼轉(zhuǎn)換

    字節(jié)流和字符流有什么區(qū)別?看完就知道!

    字節(jié)流和字符流有什么區(qū)別?看完就知道! 字節(jié)流和字符流是Java I/O系統(tǒng)中的兩個(gè)重要概念,用于處理輸入和輸出的數(shù)據(jù)。 首先,字節(jié)流是以
    的頭像 發(fā)表于 12-09 14:57 ?1989次閱讀