Python2和Python3之間的str處理方式導致亂碼的講解
Python字符串問題
- 在arcpy中版本為 python2.x
- 在QGIS中版本為 python2.x 或者 python3.x
- python2 和python3 之間的str處理方式經(jīng)常會導致亂碼,故出此文
python3版本
# 將str或字節(jié)并始終返回str
def to_str(bytes_or_str):
if isinstance(bytes_or_str, bytes):
value = bytes_or_str.decode(‘utf-8')
else:
value = bytes_or_str
return value
# 將str或字節(jié)并始終返回bytes
def to_bytes(bytes_or_str):
if isinstance(bytes_or_str, str):
value = bytes_or_str.encode(‘utf-8')
else:
value = bytes_or_str
return value
python2版本
- 在python2版本中使用unicode方式
# 接受str或unicode,并總是返回unicode
def to_unicode(unicode_or_str):
if isinstance(unicode_or_str, str):
value = unicode_or_str.decode(‘utf-8')
else:
value = unicode_or_str
return value
# 接受str或unicode,并總是返回str
def to_str(unicode_or_str):
if isinstance(unicode_or_str, unicode):
value = unicode_or_str.encode(‘utf-8')
else:
value = unicode_or_str
return value
備注
在python中不管任何版本,都是用 bytes的方式進行讀取 寫入會極大程度降低出現(xiàn)文本問題
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接
相關文章
徹底弄懂Python中的回調(diào)函數(shù)(callback)
回調(diào)函數(shù)就是一個通過函數(shù)指針調(diào)用的函數(shù),下面這篇文章主要給大家介紹了關于Python中回調(diào)函數(shù)(callback)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-06-06
Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關信息的方法
這篇文章主要介紹了Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關信息的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08
Python3標準庫之dbm UNIX鍵-值數(shù)據(jù)庫問題
dbm是面向DBM數(shù)據(jù)庫的一個前端,DBM數(shù)據(jù)庫使用簡單的字符串值作為鍵來訪問包含字符串的記錄。這篇文章主要介紹了Python3標準庫:dbm UNIX鍵-值數(shù)據(jù)庫的相關知識,需要的朋友可以參考下2020-03-03
python使用for循環(huán)計算0-100的整數(shù)的和方法
今天小編就為大家分享一篇python使用for循環(huán)計算0-100的整數(shù)的和方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
對python requests發(fā)送json格式數(shù)據(jù)的實例詳解
今天小編就為大家分享一篇對python requests發(fā)送json格式數(shù)據(jù)的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12

