Python:代碼單元、代碼點介紹

來源:互聯網
上載者:User

標籤:htm   blank   返回   point   tar   nbsp   分配   run   post   

轉於:https://www.cnblogs.com/runwulingsheng/p/5106078.html

博主:你是那天邊突然划過的一道閃電

 

代碼點:指編碼錶(比如Unicode)中某個字元的代碼值(數字),書寫時前面加U+,比如U+0041是字母A的代碼點

代碼單元:指表示編碼錶字元的最小儲存單元,用16位表示

Unicode 代碼點 U+0041 U+00DF U+6771 U+10400
表示字形
UTF-32 代碼單元
00000041
000000DF
00006771
00010400
UTF-16 代碼單元
0041
00DF
6771
D801 DC00
UTF-8 代碼單元
41
C3 9F
E6 9D B1
F0 90 90 80

增補字元,用兩個代碼單元表示的字元

網摘: 代碼點(Code Point):指Unicode中為字元分配的編號,一個字元只佔一個代碼點;例如:我們說到字元“漢”,它的代碼點是U+6C49;  代碼單元(Code Unit):是針對編碼方法而言,它指的是編碼方法中對一個字元編碼以後所佔的最小儲存單元;例如:UTF-8中,代碼單元是一個位元組,因為一個字元可以被編碼為1個,2個或者3個4個位元組;在UTF-16中,代碼單元變成了兩個位元組(就是一個char),因為一個字元可以被編碼為1個或2個char(你找不到比一個char還小的UTF-16編碼的字元,嘿嘿)。 #一個字元,僅僅對應一個代碼點,但卻可能有多個代碼單元(即可能被編碼為2個char) #以上概念絕非學術化的繞口令,這意味著當你想以一種統一的方式指定自己使用什麼字元的時候,使用代碼點(即你告訴你的程式,你要用Unicode中的第幾個字元)總是比使用代碼單元更好(因為這樣做的話你還得區分情況,有時候提供一個16進位數字,有時候要提供兩個)。"  例:想找到第i個代碼點,使用下列語句int index = greeting.offsetByCodePoints(0,i);  //得到0開始便宜i個代碼點的索引值(數字)int cp = greeting.codePointAt(index);  // 返回char值(unicode對應數字)

Python:代碼單元、代碼點介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.