python 全角转半角

def full_to_half(full_width_string):
    fullString = str(full_width_string)
    halfString = ""
    for schar in fullString:
        char_code = ord(schar)
        if char_code == 12288:
            char_code=32
        elif (char_code>=65281 and char_code<=65374):
            char_code -= 65248
            
        halfString += chr(char_code)
    return halfString 

strings = "string今天下大暴雨,!?老师教了+和-,乘法×,除法。Lucky Day! 这道题我也会做,哈哈哈。" 
 
full_to_half(strings)

Out[12]: 'string今天下大暴雨,!?老师教了+和-,乘法×,除法。Lucky Day! 这道题我也会做,哈哈哈。'
        

此处使用chr进行转换计算,有的文章中使用了 from inda import unichr,在Python 3中运行时会以下错误

ImportError: cannot import name 'unichr' from 'idna' (D:\ProgramFiles\anaconda3\lib\site-packages\idna\__init__.py)

这是因为在在Python 3中unicode和普通字符串之间没有任何区别。仅在unicode字符串和二进制数据之间。因此开发人员最终取消了unichr功能,转而使用了共同的chr,现在可以完成旧的unichr

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值