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

Python實現(xiàn)全角半角轉換的方法

 更新時間:2014年08月18日 15:04:26   投稿:shichen2014  
這篇文章主要介紹了Python實現(xiàn)全角半角轉換的方法,很實用的方法,需要的朋友可以參考下

本文實例講解了Python實現(xiàn)全角半角轉換的方法,相信對于大家的Python學習能夠起到一定的參考借鑒價值。如下所示:

一、全角半角轉換概述:

全角字符unicode編碼從65281~65374 (十六進制 0xFF01 ~ 0xFF5E)
半角字符unicode編碼從33~126 (十六進制 0x21~ 0x7E)
空格比較特殊,全角為 12288(0x3000),半角為 32 (0x20)
而且除空格外,全角/半角按unicode編碼排序在順序上是對應的
所以可以直接通過用+-法來處理非空格數(shù)據(jù),對空格單獨處理

二、全角轉半角:

實現(xiàn)代碼如下:

def strQ2B(ustring):
  """把字符串全角轉半角"""
  rstring = ""
  for uchar in ustring:
    inside_code=ord(uchar)
    if inside_code==0x3000:
      inside_code=0x0020
    else:
      inside_code-=0xfee0
    if inside_code<0x0020 or inside_code>0x7e:   #轉完之后不是半角字符返回原來的字符
      rstring += uchar
    rstring += unichr(inside_code)
  return rstring

三、半角轉全角:

實現(xiàn)代碼如下:

def strB2Q(ustring):
  """把字符串半角轉全角"""
  rstring = ""
  for uchar in ustring:
    inside_code=ord(uchar)
    if inside_code<0x0020 or inside_code>0x7e:   #不是半角字符就返回原來的字符
      rstring += uchar
    if inside_code==0x0020: #除了空格其他的全角半角的公式為:半角=全角-0xfee0
      inside_code=0x3000
    else:
      inside_code+=0xfee0
    rstring += unichr(inside_code)
  return rstring

四、測試代碼:

a = strB2Q("abc12345")
print a
b = strQ2B(a)
print b

輸出:

abc12345
abc12345

感興趣的朋友可以調試運行一下,相信會有一定的收獲。

相關文章

最新評論