99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

Python編碼與解碼

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

掃碼添加小助手

加入工程師交流群

先做下科普:UNICODE字符編碼,也是一張字符與數(shù)字的映射,但是這里的數(shù)字被稱為代碼點(code point), 實際上就是十六進制的數(shù)字。

Python官方文檔中對Unicode字符串、字節(jié)串與編碼之間的關系有這樣一段描述:

Unicode字符串是一個代碼點(code point)序列,代碼點取值范圍為0到0x10FFFF(對應的十進制為1114111)。這個代碼點序列在存儲(包括內(nèi)存和物理磁盤)中需要被表示為一組字節(jié)(0到255之間的值),而將Unicode字符串轉(zhuǎn)換為字節(jié)序列的規(guī)則稱為編碼。

這里說的編碼不是指字符編碼,而是指編碼的過程以及這個過程中所使用到的Unicode字符的代碼點與字節(jié)的映射規(guī)則。這個映射不必是簡單的一對一映射,因此編碼過程也不必處理每個可能的Unicode字符,例如:

將Unicode字符串轉(zhuǎn)換為ASCII編碼的規(guī)則很簡單--對于每個代碼點:

如果代碼點數(shù)值《128,則每個字節(jié)與代碼點的值相同

如果代碼點數(shù)值》=128,則Unicode字符串無法在此編碼中進行表示(這種情況下,Python會引發(fā)一個UnicodeEncodeError異常)

將Unicode字符串轉(zhuǎn)換為UTF-8編碼使用以下規(guī)則:

如果代碼點數(shù)值《128,則由相應的字節(jié)值表示(與Unicode轉(zhuǎn)ASCII字節(jié)一樣)

如果代碼點數(shù)值》=128,則將其轉(zhuǎn)換為一個2個字節(jié),3個字節(jié)或4個字節(jié)的序列,該序列中的每個字節(jié)都在128到255之間。

簡單總結(jié):

編碼(encode):將Unicode字符串(中的代碼點)轉(zhuǎn)換特定字符編碼對應的字節(jié)串的過程和規(guī)則

解碼(decode):將特定字符編碼的字節(jié)串轉(zhuǎn)換為對應的Unicode字符串(中的代碼點)的過程和規(guī)則

可見,無論是編碼還是解碼,都需要一個重要因素,就是特定的字符編碼。因為一個字符用不同的字符編碼進行編碼后的字節(jié)值以及字節(jié)個數(shù)大部分情況下是不同的,反之亦然。

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

    關注

    6

    文章

    969

    瀏覽量

    55759
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    正交編碼解碼原理及解碼思路

    一、正交編碼解碼原理:二、解碼思路(1)方法一:使用定時器的輸入捕獲功能,配置好TIM_ICInitTypeDef即可獲取一定時間內(nèi)的脈沖個數(shù),并可根據(jù)B相上升沿時A相所處的電平判斷電機正轉(zhuǎn)還是反轉(zhuǎn)。中斷類型配置為更新事件和上升
    發(fā)表于 08-16 06:38

    PT2262編碼芯片的軟件解碼

    PT2262編碼芯片的軟件解碼 詳述PT2262編碼和軟件解碼
    發(fā)表于 04-07 16:48 ?240次下載

    什么是音頻的編碼解碼/HZ(赫茲)

    什么是音頻的編碼解碼/HZ(赫茲)    編碼解碼:在數(shù)字音頻技術中,用數(shù)字大小來代替聲音強弱高低的模擬電壓,并對音頻
    發(fā)表于 02-05 11:28 ?1770次閱讀

    圖像壓縮編碼解碼原理

    圖像壓縮編碼解碼原理 本節(jié)介紹圖像壓縮
    發(fā)表于 09-27 08:45 ?4544次閱讀
    圖像壓縮<b class='flag-5'>編碼</b>和<b class='flag-5'>解碼</b>原理

    音頻編碼解碼原理

    音頻編碼解碼原理 每張CD光盤重放雙聲道立體聲信號可達74分鐘。VCD視盤機要
    發(fā)表于 09-27 08:52 ?7091次閱讀
    音頻<b class='flag-5'>編碼</b>和<b class='flag-5'>解碼</b>原理

    曼徹斯特編碼解碼及其應用

    曼徹斯特編碼解碼及其應用。
    發(fā)表于 05-20 14:28 ?0次下載

    h264編碼解碼源代碼

    h264編碼解碼源代碼h264編碼解碼源代碼
    發(fā)表于 01-14 15:50 ?34次下載

    短信編碼解碼C語言

    1.消息編碼解碼 用C實現(xiàn)7-bit編碼解碼的算法如下: // 7-bit編碼 // pSrc: 源字符串指針 // pDst: 目標
    發(fā)表于 08-30 16:59 ?4次下載
    短信<b class='flag-5'>編碼</b>與<b class='flag-5'>解碼</b>C語言

    java實現(xiàn)的哈夫曼編碼解碼

     摘要:哈夫曼編碼作為一種編碼方式,已經(jīng)在生活中得到了實際的運用,下面我們以java實現(xiàn)的哈夫曼編碼解碼為核心來講述它的編碼方式及程序等。
    發(fā)表于 12-11 08:39 ?5983次閱讀
    java實現(xiàn)的哈夫曼<b class='flag-5'>編碼</b>與<b class='flag-5'>解碼</b>

    NVIDIA推出適用于Python的VPF,簡化開發(fā)GPU加速視頻編碼/解碼

    NVIDIA推出了適用于Python的開源視頻處理框架“VideoProcessingFramework”(VPF)。據(jù)悉,VPF 是一組開源的C ++庫和Python綁定,可與其封閉源代碼Codec SDK進行交互。該框架的功能是簡化從
    的頭像 發(fā)表于 12-18 14:25 ?7366次閱讀

    STM32的音頻編碼與在PC端的解碼

    STM32的音頻編碼與在PC端的解碼簡介STM32F4移植編碼PC移植解碼結(jié)尾簡介能看到這篇文章的基本上都是有迫切需求的人,話不多說,切入正題編解碼
    發(fā)表于 12-16 16:53 ?25次下載
    STM32的音頻<b class='flag-5'>編碼</b>與在PC端的<b class='flag-5'>解碼</b>

    基于transformer的編碼器-解碼器模型的工作原理

    與基于 RNN 的編碼器-解碼器模型類似,基于 transformer 的編碼器-解碼器模型由一個編碼器和一個
    發(fā)表于 06-11 14:17 ?2872次閱讀
    基于transformer的<b class='flag-5'>編碼</b>器-<b class='flag-5'>解碼</b>器模型的工作原理

    Python中的默認編碼

    ####1. Python源代碼文件的執(zhí)行過程 我們都知道,磁盤上的文件都是以二進制格式存放的,其中文本文件都是以某種特定編碼的字節(jié)形式存放的。對于程序源代碼文件的字符編碼是由編輯器指定的,比如
    的頭像 發(fā)表于 07-05 16:11 ?1480次閱讀
    <b class='flag-5'>Python</b>中的默認<b class='flag-5'>編碼</b>

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

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

    DVEVM/DVSDK 1.2的編碼解碼演示

    電子發(fā)燒友網(wǎng)站提供《DVEVM/DVSDK 1.2的編碼解碼演示.pdf》資料免費下載
    發(fā)表于 10-16 11:26 ?0次下載
    DVEVM/DVSDK 1.2的<b class='flag-5'>編碼</b><b class='flag-5'>解碼</b>演示