python: 全角半角轉換


#!/usr/bin/env python
# -*- encoding: utf-8 -*-


def strQ2B(ustring):
    """把字符串全角轉半角"""
    ss = []
    for s in ustring:
        rstring = ""
        for uchar in s:
            inside_code = ord(uchar)
            if inside_code == 12288:  # 全角空格直接轉換
                inside_code = 32
            elif (inside_code >= 65281 and inside_code <= 65374):  # 全角字符(除空格)根據關系轉化
                inside_code -= 65248
            rstring += chr(inside_code)
        ss.append(rstring)
    return ''.join(ss)


def strB2Q(ustring):
    """
    半轉全角
    :param ustring:
    :return:
    """
    ss = []
    for s in ustring:
        rstring = ""
        for uchar in s:
            inside_code = ord(uchar)

            # 全角空格直接轉換
            if inside_code == 32:
                inside_code = 12288

            elif (inside_code >= 33 and inside_code <= 126):  # 全角字符(除空格)根據關系轉化
                inside_code += 65248
            rstring += chr(inside_code)

        ss.append(rstring)
    return ''.join(ss)


if __name__ == '__main__':
    a = strB2Q("深桑達A")
    print(a)
    b = strQ2B('深桑達A特 力A')
    print(b)
    b = strQ2B('深桑達A特 力A')
    print(b.replace(' ', ''))

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM