欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現將Unicode轉換為ASCII

 更新時間:2023年10月26日 08:57:14   作者:跡憶客  
這篇文章主要為大家詳細介紹了系統(tǒng)編碼的不同方法以及如何利用Python實現將Unicode轉換為?ASCII,文中的示例代碼講解詳細,有需要的小伙伴可以學習一下

通過本文,我們將學習如何將 Unicode 編碼為字節(jié),了解系統(tǒng)編碼的不同方法以及在 Python 中將 Unicode 轉換為 ASCII。

在 Python 中將 Unicode 轉換為 ASCII

Python 3 字符串的基本問題是由字符組成的; Python 中沒有字符類型,但它們包含 Unicode 字符。

如果我們說 a = ‘abcd’ 并使用 len() 函數檢查它的長度,那么我們得到 4 并且我們聲明 s=‘????’ 意思是你好,這是希伯來語中的單詞。 這些長度是相同的,這很好,因為兩個變量都有四個字符。

>>a='abcd'
>>len(a)
4
>>s='????'
>>len(s)
4

事實上,幕后是不同的字節(jié)數與這里的問題無關,len() 測量的是字符數,而不是字節(jié)數,但當然,在幕后,UTF-8 Unicode 字符和 UTF-8 編碼使用更多字節(jié)。

那么我們如何將字符串轉換為我們需要的字節(jié)呢? 好吧,我們可以使用 s.encode(),如果我們這樣做,它會返回一個字節(jié)字符串,該字符串將是我們創(chuàng)建希伯來語單詞 ???? 所需的八個字節(jié)。

>>s.encode()
b'\xd7\xa9\xd7\x9c\xd7\x95\xd7\x9d'
>>'abcd'.encode()
b'abcd'

現在我們將獲取一個 Unicode 字符串并將其轉換為字節(jié)字符串,但它比這更復雜,因為我們知道這個字符串是什么,并且我們想要取回不代表 Unicode 底層字節(jié)的字節(jié)。 我們想要取回不同編碼系統(tǒng)的底層字節(jié)。

例如,我們使用 iso-8859-8,這是您可能聽說過的一種在西歐廣泛使用的編碼類型,它允許我們在一個字節(jié)中包含特定語言所需的所有不同字符 ,所以如果我們需要將一個字符串轉換為非 Unicode 的編碼。

>>s.encode('iso-8859-8')
b'\xf9\xec\xe5\xed'

讓我們看看如果我們有來自不同語言的東西會發(fā)生什么,就像我們說 s='北京' 就是北京,如果我們對其進行編碼,那么我們會得到一個字節(jié)字符串。

我們看到這里有六個字節(jié),因為每個漢字都由三個字節(jié)表示; 這是我們使用 UTF-8 進行的可變長度編碼。

>>s='北京'
>>s.encode()
b'\xe5\x8c\x97\xe4\xba\xac'

現在我們想使用 iso-8859-8 對 北京 進行編碼,當我們執(zhí)行此操作時,我們會得到 UnicodeEncodeError,這意味著編碼告訴我們您想要獲取這些 Unicode 字符并將它們轉換為 iso-8859 的字節(jié) -8 不允許的編碼。

s.encode('iso-8859-8')

如果我們用這個連接英語單詞,它也會失敗,因為任何地方我們可能有錯誤,它都會失敗,但我們可以添加一個參數來幫助忽略錯誤。

>>s='I often go to 北京'
>>s.encode('iso-8859-8',errors='ignore')
b'I often go to '

如果您有一大堆文本并且可以丟失 Unicode 字符,則可以使用此選項。

讓我們看一下默認情況下等于 strict 的 help(s.encode),但它可以是一些不同的東西,所以如果我們使用替換值來錯誤,它并不真正知道如何替換,所以它 只是要使用問號。

help(s.encode)

>>s='I often go to 北京'
>>s.encode('iso-8859-8',errors='replace')
b'I often go to ??'

當我們使用 xmlcharrefreplace 時,我們會返回與這些 Unicode 字符有關的 XML 實體,因此如果您要將其粘貼到 XML 文檔或 HTML 中,那么這將起作用。

>>s.encode('iso-8859-8',errors='xmlcharrefreplace')
b'I often go to 北京'

這取決于您的需求; 如果您將 Unicode 字符轉換為字節(jié),這是典型的情況,因為您將通過網絡發(fā)送它們,或者您正在處理某種其他類型的編碼系統(tǒng)。

如果您是初學者并且不想詳細介紹,請使用以下命令安裝名為 unidecode 的 Python 包。

它將直接將 Unicode 轉換為 ASCII; 當您使用需要將 Unicode 轉換為 ASCII 的應用程序時,它會很有幫助。

>>pip install unidecode
>>>from unidecode import unidecode
>>>unidecode(u'北京')
'Bei Jing'

到此這篇關于Python實現將Unicode轉換為ASCII的文章就介紹到這了,更多相關Python Unicode轉ASCII內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python自動化辦公之生成PDF報告詳解

    Python自動化辦公之生成PDF報告詳解

    因為工作需要經常需要生成很多的PDF報告給客戶查看產品效果以及過程的講解,每次都需要按照一定的格式的編寫文檔并生成PDF報告,這樣重復性的工作實在太累。本文就來用Python實現自動生成PDF報告吧
    2023-03-03
  • Django中models.model如何使用舉例詳解

    Django中models.model如何使用舉例詳解

    在現代Web開發(fā)中Django是一個非常流行的Web框架,它允許開發(fā)者快速構建強大而優(yōu)雅的Web應用程序,這篇文章主要介紹了Django中models.model如何使用的相關資料,需要的朋友可以參考下
    2025-04-04
  • python實現生成字符串大小寫字母和數字的各種組合

    python實現生成字符串大小寫字母和數字的各種組合

    這篇文章主要給大家介紹了關于python生成各種字符串的方法實例,給大家提供些思路,拋磚引玉,希望大家能夠喜歡
    2019-01-01
  • 一文帶你精通Python中exec函數的高級技巧

    一文帶你精通Python中exec函數的高級技巧

    在?Python?中,exec?是一個內置函數,允許在運行時動態(tài)執(zhí)行?Python?代碼,本文將詳細介紹?Python?exec?函數的高級用法,包括動態(tài)代碼生成、執(zhí)行外部文件等內容,希望對大家有所幫助
    2023-11-11
  • python configparser中默認值的設定方式

    python configparser中默認值的設定方式

    這篇文章主要介紹了python configparser中默認值的設定方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 在Mac OS上部署Nginx和FastCGI以及Flask框架的教程

    在Mac OS上部署Nginx和FastCGI以及Flask框架的教程

    這篇文章主要介紹了在Mac OS上部署Nginx和FastCGI以及Flask框架的教程,Flask是Python下一個極簡的web開放框架,需要的朋友可以參考下
    2015-05-05
  • selenium學習教程之定位以及切換frame(iframe)

    selenium學習教程之定位以及切換frame(iframe)

    這篇文章主要給大家介紹了關于selenium學習教程之定位以及切換frame(iframe)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Django數據庫操作之save與update的使用

    Django數據庫操作之save與update的使用

    這篇文章主要介紹了Django數據庫操作之save與update的使用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python 異或加密字符串的實例

    python 異或加密字符串的實例

    今天小編就為大家分享一篇python 異或加密字符串的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python中實現進度條的多種方法總結

    Python中實現進度條的多種方法總結

    在Python編程中,進度條是一個非常有用的功能,它能讓用戶直觀地了解任務的進度,提升用戶體驗,本文將介紹幾種在Python中實現進度條的常用方法,并通過代碼示例和案例來展示它們的具體應用,需要的朋友可以參考下
    2025-01-01

最新評論