国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python編碼UNICODE GBK UTF-8字符集轉換的正確姿勢

2019-11-08 01:46:04
字體:
來源:轉載
供稿:網友

規范

腳本文件編碼 由于需要經常性使用到中文字符,因此Python腳本新建后,請在頭部添加代碼:# coding: utf-8

或者為pycharm設置代碼模版,這樣每次新建Python文件時會自動帶上以上代碼。如果不添加,即使中文字符串以u開頭,也是編譯不通過的。

UNICODE

腳本中的字符最好使用UNICODE編碼(英文可以不需要,但是中文盡量使用),因為UNICODE編碼是比較好的“中間”字符集,比較容易向GBK和UTF-8轉換。例如:PRint u"你好"

如果不帶u的字符在包含了# coding: utf-8的腳本中默認字符為UTF-8,一般也不會有什么問題。

UNICODE轉GBK:# 帶u的字符串為unicodes.encode('gbk')UNICODE轉UTF-8# 帶u的字符串為unicodes.encode('utf-8')

GBK

GBK轉UNICODE

Windows下的命令行參數為GBK編碼,因此需要對字符串進行轉換,轉換方法有兩種。

方法一:

# Create a new Unicode object from the given encoded string.# encoding defaults to the current default string encoding.# errors can be 'strict', 'replace' or 'ignore' and defaults to 'strict'.unicode(s, "gbk", "ignore")

方法二:

s.decode('gbk', 'ignore')

跨平臺判斷:

if sys.platform == 'win32': # win下命令行參數為gbk編碼,轉換字符 passelse: pass

UTF-8

UTF-8轉換為UNICODEunicode(s, "utf-8", "ignore")

或:

s.decode('utf-8', 'ignore')

匯總整理成函數庫

# win下命令行參數為gbk編碼:star.gbk2unicode(sys.argv[1]) + u'也有'def gbk2unicode(s): return s.decode('gbk', 'ignore')# 腳本文件#coding:utf-8時默認不帶u的字符串為utf8字符串:star.utf82unicode('我')def utf82unicode(s): return s.decode('utf-8', 'ignore')# 帶u的字符串為unicode# star.unicode2gbk(u'/u4e5f/u6709')# star.unicode2gbk(u'也有')def unicode2gbk(s): return s.encode('gbk')# 帶u的字符串為unicode# star.unicode2utf8(u'/u4e5f/u6709')# star.unicode2utf8(u'也有')def unicode2utf8(s): return s.encode('utf-8')# win下命令行參數為gbk編碼:star.gbk2utf8(sys.argv[1]) + '也有'def gbk2utf8(s): return s.decode('gbk', 'ignore').encode('utf-8')def utf82gbk(s): return s.decode('utf-8', 'ignore').encode('gbk')
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 县级市| 凤庆县| 保德县| 丁青县| 郯城县| 建湖县| 富平县| 鹰潭市| 新源县| 东丰县| 寿光市| 苗栗市| 江山市| 大新县| 黄冈市| 霍城县| 梅河口市| 改则县| 辉县市| 榆树市| 读书| 海盐县| 东丽区| 宝鸡市| 手游| 台湾省| 曲周县| 布尔津县| 阿克陶县| 宁晋县| 措勤县| 南郑县| 乐昌市| 虞城县| 繁峙县| 婺源县| 上蔡县| 黄梅县| 扬州市| 瑞昌市| 上蔡县|