千家信息网

Python全角与半角间怎么相互转换

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章主要介绍了Python全角与半角间怎么相互转换的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python全角与半角间怎么相互转换文章都会有所收获,下面我们一起来看
千家信息网最后更新 2025年11月09日Python全角与半角间怎么相互转换

这篇文章主要介绍了Python全角与半角间怎么相互转换的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python全角与半角间怎么相互转换文章都会有所收获,下面我们一起来看看吧。

1.应用领域:

全角和半角的转换通常用在自然语言处理过程中,由于全角和半角的不一致会导致信息抽取不一致,在使用语料训练语言模型会导致模型的效果不准确,所以需要统一。

2.全角半角转换概述

  • 全角字符unicode编码范围从65281~65374 (对应的十六进制范围是: 0xFF01 ~ 0xFF5E)

  • 半角字符unicode编码范围从33~126 (对应的十六进制范围从 0x21~ 0x7E)

  • 空格比较特殊,全角为12288(0x3000),半角为 32 (0x20)

  • 除空格外, 全角/半角按unicode编码排序在顺序上是对应的(半角 +65248 = 全角 or 半角 + 0x7e= 全角 )

  • 所以可以直接通过用±法来处理非空格数据,对空格单独处理

3.请注意:

中文文字永远是全角,只有英文字母、数字键、符号键才有全角半角的概念。

一个字母或数字占一个汉字的位置叫全角,占半个汉字的位置叫半角。

引号在中英文、全半角情况下是不同的

4.应用到的库函数

  • chr()函数用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

  • unichr()跟它一样,只不过返回的是Unicode字符。

  • ord()函数是chr()函数(对于8位的ASCII字符串)或unichr()函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值。

示例:

5.全角转半角:

def strQ2B(ustring):    rstring = ""    for uchar in ustring:        inside_code = ord(uchar)        if inside_code == 12288:                            # 全角空格直接转换            inside_code = 32        elif 65281 <= inside_code <= 65374:                               # 全角字符(除空格)根据关系转化            inside_code -= 65248        rstring += chr(inside_code)    return rstringstr11 = strQ2B("电影《2012》讲述了2012年12月21日的世界末日,主人公Jack以及世界各国人民挣扎求生的经历!")print(str11)

运行结果:

电影《2012》讲述了2012年12月21日的世界末日,主人公Jack以及世界各国人民挣扎求生的经历!

6.半角转成全角:

def strB2Q(ustring):    """半角转全角"""    rstring = ""    for uchar in ustring:        inside_code = ord(uchar)        if inside_code == 32:                 # 半角空格直接转化            inside_code = 12288        elif 32 <= inside_code <= 126:        # 半角字符(除空格)根据关系转化            inside_code += 65248        rstring += chr(inside_code)    return rstringstr22 = strB2Q("电影《2012》讲述了2012年12月21日的世界末日,主人公Jack以及世界各国人民挣扎求生的经历!")print(str22)

运行结果:

电影《2012》讲述了2012年12月21日的世界末日,主人公Jack以及世界各国人民挣扎求生的经历!

附:如何通过python转换全角字符串为半角字符串实例

# coding:utf-8from idna import unichrdef all_to_half(all_string):    """全角转半角"""    half_string = ""    for char in all_string:        inside_code = ord(char)        if inside_code == 12288:  # 全角空格直接转换,全角和半角的空格的Unicode值相差12256            inside_code = 32        elif (inside_code >= 65281 and inside_code <= 65374):  # 全角字符(除空格)根据关系转化,除空格外的全角和半角的Unicode值相差65248            inside_code -= 65248        half_string += unichr(inside_code)    return half_string

关于"Python全角与半角间怎么相互转换"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Python全角与半角间怎么相互转换"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

全角 半角 字符 空格 世界 函数 范围 世界各国 主人 主人公 人民 字符串 末日 电影 知识 编码 处理 一致 位置 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 杭州猿宝互联网科技有限公司 戴尔服务器开机风扇转一下 学习通计算机网络技术答案 电脑连接不到主服务器怎么办 重庆常规软件开发定制平台 贵州翌宸志信软件开发 清远虚拟服务器管理软件 残疾人做什么软件开发 创造与魔法家园服务器有什么用 服务器黑名单 医疗网络安全ctf 上师大图书馆数据库 成都昆腾软件开发有限公司 许 网络安全创新展台 数据库附加中途能停吗 分享博客网络技术博客 网络安全审查和信安从业者 山西司法厅网络安全要求 网络安全周 视频下载 阿里云服务器共享型和突发性能型 数据库数据生成树状菜单 灵骁边缘计算服务器 慈溪财务软件开发公司 网络安全 手机失泄密 区医保信息系统网络安全管理 江西特色软件开发收费 聋哑人手语数据库 网络安全工程师证书有那些 网络安全常见自身风险 合肥捷科网络技术
0