最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)將Unicode轉(zhuǎn)換為ASCII

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

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

在 Python 中將 Unicode 轉(zhuǎn)換為 ASCII

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

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

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

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

那么我們?nèi)绾螌⒆址D(zhuǎn)換為我們需要的字節(jié)呢? 好吧,我們可以使用 s.encode(),如果我們這樣做,它會返回一個(gè)字節(jié)字符串,該字符串將是我們創(chuàng)建希伯來語單詞 ???? 所需的八個(gè)字節(jié)。

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

現(xiàn)在我們將獲取一個(gè) Unicode 字符串并將其轉(zhuǎn)換為字節(jié)字符串,但它比這更復(fù)雜,因?yàn)槲覀冎肋@個(gè)字符串是什么,并且我們想要取回不代表 Unicode 底層字節(jié)的字節(jié)。 我們想要取回不同編碼系統(tǒng)的底層字節(jié)。

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

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

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

我們看到這里有六個(gè)字節(jié),因?yàn)槊總€(gè)漢字都由三個(gè)字節(jié)表示; 這是我們使用 UTF-8 進(jìn)行的可變長度編碼。

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

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

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

如果我們用這個(gè)連接英語單詞,它也會失敗,因?yàn)槿魏蔚胤轿覀兛赡苡绣e(cuò)誤,它都會失敗,但我們可以添加一個(gè)參數(shù)來幫助忽略錯(cuò)誤。

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

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

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

help(s.encode)

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

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

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

這取決于您的需求; 如果您將 Unicode 字符轉(zhuǎn)換為字節(jié),這是典型的情況,因?yàn)槟鷮⑼ㄟ^網(wǎng)絡(luò)發(fā)送它們,或者您正在處理某種其他類型的編碼系統(tǒng)。

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

它將直接將 Unicode 轉(zhuǎn)換為 ASCII; 當(dāng)您使用需要將 Unicode 轉(zhuǎn)換為 ASCII 的應(yīng)用程序時(shí),它會很有幫助。

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

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

相關(guān)文章

  • Python之日期和時(shí)間包datetime的使用

    Python之日期和時(shí)間包datetime的使用

    這篇文章主要介紹了Python之日期和時(shí)間包datetime的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 使用PyInstaller打包Python項(xiàng)目過程

    使用PyInstaller打包Python項(xiàng)目過程

    本文介紹了使用PyInstaller將Python程序打包為可執(zhí)行文件的流程,包括環(huán)境準(zhǔn)備、核心命令解析、資源文件引用、實(shí)戰(zhàn)案例、常見問題解決及進(jìn)階技巧,幫助開發(fā)者實(shí)現(xiàn)“一鍵分發(fā)”,提升程序易用性與兼容性
    2025-10-10
  • Python實(shí)現(xiàn)任意文件查找工具的不同方法詳解

    Python實(shí)現(xiàn)任意文件查找工具的不同方法詳解

    在日常的開發(fā)和運(yùn)維工作中,經(jīng)常需要查找特定類型的文件或帶有特定模式的文件,本文將提供兩種不同的編寫文件查找工具實(shí)現(xiàn)方式,需要的可以參考下
    2025-03-03
  • Python實(shí)現(xiàn)高效提取PDF中的表格數(shù)據(jù)并導(dǎo)出為 TXT或Excel

    Python實(shí)現(xiàn)高效提取PDF中的表格數(shù)據(jù)并導(dǎo)出為 TXT或Excel

    在日常辦公、數(shù)據(jù)分析或信息歸檔過程中,我們經(jīng)常會遇到包含表格數(shù)據(jù)的 PDF 文件,本文將演示如何將 PDF 表格數(shù)據(jù)導(dǎo)出為 TXT 和 Excel 文件,有需要的小伙伴可以了解下
    2026-01-01
  • 對python指數(shù)、冪數(shù)擬合curve_fit詳解

    對python指數(shù)、冪數(shù)擬合curve_fit詳解

    今天小編就為大家分享一篇對python指數(shù)、冪數(shù)擬合curve_fit詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python中?whl包、tar.gz包的區(qū)別詳解

    Python中?whl包、tar.gz包的區(qū)別詳解

    whl格式本質(zhì)上是一個(gè)壓縮包,里面包含了py文件,以及經(jīng)過編譯的pyd文件,這篇文章主要介紹了Python中?whl包、tar.gz包的區(qū)別,需要的朋友可以參考下
    2022-08-08
  • 淺談Python中的bs4基礎(chǔ)

    淺談Python中的bs4基礎(chǔ)

    今天小編就為大家分享一篇關(guān)于Python中的bs4基礎(chǔ),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 解決Shell執(zhí)行python文件,傳參空格引起的問題

    解決Shell執(zhí)行python文件,傳參空格引起的問題

    今天小編就為大家分享一篇解決Shell執(zhí)行python文件,傳參空格引起的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 安裝conda搭建python環(huán)境保姆級教程(超詳細(xì)!)

    安裝conda搭建python環(huán)境保姆級教程(超詳細(xì)!)

    這篇文章主要給大家介紹了關(guān)于安裝conda搭建python環(huán)境保姆級教程的相關(guān)資料,conda可以理解為一個(gè)工具,也是一個(gè)可執(zhí)行命令,其核心功能是包管理和環(huán)境管理,需要的朋友可以參考下
    2023-11-11
  • windows10系統(tǒng)中安裝python3.x+scrapy教程

    windows10系統(tǒng)中安裝python3.x+scrapy教程

    本文給大家主要介紹了在windows10系統(tǒng)中安裝python3以及scrapy框架的教程以及有可能會遇到的問題的解決辦法,希望大家能夠喜歡
    2016-11-11

最新評論

洛浦县| 万山特区| 九寨沟县| 株洲市| 枣阳市| 镶黄旗| 积石山| 梓潼县| 怀远县| 教育| 正安县| 莲花县| 青铜峡市| 荣成市| 岳西县| 吉隆县| 义马市| 台北市| 若尔盖县| 新乐市| 宁海县| 绿春县| 五家渠市| 定远县| 茌平县| 金平| 临安市| 增城市| 博客| 龙游县| 安阳市| 遂溪县| 靖州| 海安县| 克东县| 大安市| 全椒县| 盘锦市| 兴国县| 泰宁县| 宝应县|