最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python实现全角半角转换的方法

来源:动视网 责编:小采 时间:2020-11-27 14:30:50
文档

Python实现全角半角转换的方法

Python实现全角半角转换的方法:本文实例讲解了Python实现全角半角转换的方法,相信对于大家的Python学习能够起到一定的参考借鉴价值。如下所示: 一、全角半角转换概述: 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E) 半角字符unicode编码从33~126 (十
推荐度:
导读Python实现全角半角转换的方法:本文实例讲解了Python实现全角半角转换的方法,相信对于大家的Python学习能够起到一定的参考借鉴价值。如下所示: 一、全角半角转换概述: 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E) 半角字符unicode编码从33~126 (十


本文实例讲解了Python实现全角半角转换的方法,相信对于大家的Python学习能够起到一定的参考借鉴价值。如下所示:

一、全角半角转换概述:

全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)
半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)
空格比较特殊,全角为 12288(0x3000),半角为 32 (0x20)
而且除空格外,全角/半角按unicode编码排序在顺序上是对应的
所以可以直接通过用+-法来处理非空格数据,对空格单独处理

二、全角转半角:

实现代码如下:

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

三、半角转全角:

实现代码如下:

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

感兴趣的朋友可以调试运行一下,相信会有一定的收获。

文档

Python实现全角半角转换的方法

Python实现全角半角转换的方法:本文实例讲解了Python实现全角半角转换的方法,相信对于大家的Python学习能够起到一定的参考借鉴价值。如下所示: 一、全角半角转换概述: 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E) 半角字符unicode编码从33~126 (十
推荐度:
标签: 转换 全角 半角
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top