python 全角字符和半角字符切换
生活随笔
收集整理的這篇文章主要介紹了
python 全角字符和半角字符切换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
unicode編碼:
非空格:
全角字符:65281~65374 (十六進制 0xFF01 ~ 0xFF5E)
半角字符:33~126 (十六進制 0x21~ 0x7E)
空格:
空格全角:12288(0x3000)
空格半角:32(0x20)
解釋一下什么是全角、半角:
全角字符是指一個字(字母、數字、漢字)占兩個字節,而半角則是占一個字節。
中文全部都是全角字符,只有數字、英文字符、標點符號才區分是全角還是半角。
從unicode編碼規律,對于非空格的字符,半角+65248=全角
參考資料說半角+(0x7E)= 全角,我沒看明白0x7E也不等于十進制的65248呀??看懂的同學歡迎留言。
# -*- coding: cp936 -*- def strQ2B(ustring):"""全角轉半角"""rstring = ""for uchar in ustring:inside_code=ord(uchar)if inside_code == 12288: #全角空格直接轉換 inside_code = 32 elif (inside_code >= 65281 and inside_code <= 65374): #全角字符(除空格)根據關系轉化inside_code -= 65248rstring += unichr(inside_code)return rstringdef strB2Q(ustring):"""半角轉全角"""rstring = ""for uchar in ustring:inside_code=ord(uchar)if inside_code == 32: #半角空格直接轉化 inside_code = 12288elif inside_code >= 32 and inside_code <= 126: #半角字符(除空格)根據關系轉化inside_code += 65248rstring += chr(inside_code)return rstringb = strQ2B("mn123abc博客園") print(b)c = strB2Q("mn123abc博客園") print (c)以上 轉載自python實現全角半角的相互轉換:
總結
以上是生活随笔為你收集整理的python 全角字符和半角字符切换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可视域分析功能搭建
- 下一篇: gateway断言工厂Path,Weig