2013-12-15 14 views
8

在研究Python3中的Unicode問題時,我可以跨越此often-quoted document,其中列出了Python3 Unicode支持背後的初始想法。從該網頁引述:7位最大爲0xEF

由於歷史原因,最廣泛使用的編碼是ascii的,它只能在0-0xEF範圍處理Unicode代碼點(即ASCII是一個7位編碼)。

據我所知,0xEF = 14*16 + 15*1 = 239。這對我來說似乎是錯誤的,因爲二進制1111111(7位)是127。這個報價是錯誤的,還是我的理解錯誤?

更新:該文件已修復!感謝Nick Coghlan對Python 3字符串處理的出色介紹,並希望他能幫助確認錯誤。

+2

0xEF代表什麼? – thefourtheye

+1

這確實很奇怪,因爲7位ASCII的範圍是'00'到'7F','0xEF'顯然是8位。而該段也沒有提到UTF-8。提交bug! – 9000

+0

謝謝,我只是留下了對該頁面評論功能的評論。 – dotancohen

回答

10

是的,0xEF看起來是一個簡單的錯字。該部分非常有用,取而代之的是0x7F

+0

謝謝bobince。 – dotancohen