unicode编码:
非空格:
全角字符:65281~65374 (十六进制 0xFF01 ~ 0xFF5E)
半角字符:33~126 (十六进制 0x21~ 0x7E)
空格:
空格全角:12288(0x3000)
空格半角:32(0x20)

解释一下什么是全角、半角:
全角字符是指一个字(字母、数字、汉字)占两个字节,而半角则是占一个字节。
中文全部都是全角字符,只有数字、英文字符、标点符号才区分是全角还是半角。

从unicode编码规律,对于非空格的字符,半角+65248=全角

参考资料说半角+(0x7E)= 全角,我没看明白0x7E也不等于十进制的65248呀??看懂的同学欢迎留言。

# -*- coding: cp936 -*-
def strQ2B(ustring):"""全角转半角"""rstring = ""for uchar in ustring:inside_code=ord(uchar)if inside_code == 12288:                              #全角空格直接转换            inside_code = 32 elif (inside_code >= 65281 and inside_code <= 65374): #全角字符(除空格)根据关系转化inside_code -= 65248rstring += unichr(inside_code)return rstringdef strB2Q(ustring):"""半角转全角"""rstring = ""for uchar in ustring:inside_code=ord(uchar)if inside_code == 32:                                 #半角空格直接转化                  inside_code = 12288elif inside_code >= 32 and inside_code <= 126:        #半角字符(除空格)根据关系转化inside_code += 65248rstring += chr(inside_code)return rstringb = strQ2B("mn123abc博客园")
print(b)c = strB2Q("mn123abc博客园")
print (c)

以上 转载自python实现全角半角的相互转换:

python 全角字符和半角字符切换相关推荐

  1. python全角数字_python 半角全角的相互转换

    全角与半角在中文输入法里经常要接触到,后台在处理用户输入数据时需要对半角全角的相互转换.下面是python 实现的半角全角的相互转换功能. 全角与半角 全角指一个字符占用两个标准字符位置的状态. 半角 ...

  2. 全角英文和半角英文切换

    win10有时候误操作会将半角英文变成全角英文 先将输入法切换到英文输入法 全角英文就是这样: abcdefjhigklmnop 半角英文这样 abcedfjhigk 他们之间怎么来回切换呢? 按sh ...

  3. python 全角半角字符转换

    文章目录 1.相关原理 2. 相关代码 2.1 全角转半角 2.2 半角转全角 2.3 自定义转换 2.4 demo 参考文献 1.相关原理 全角即:Double Byte Character,简称D ...

  4. 全角字符和半角字符的区别

    全角字符的由来# 全角符号是双字节中文编码的历史遗留问题.当年在纯文本的界面中,为了让西文和中日韩的方块字对齐,就让西文字母.数字和标点也占用一个汉字的视觉空间,并使用 2 个字节存储.后来,其中的一 ...

  5. php 全角符号 转成半角,php全角字符转换为半角字符简单示例

    这篇文章主要为大家详细介绍了php全角字符转换为半角字符简单示例,具有一定的参考价值,可以用来参考一下. 对php全角字符转换为半角字符简单示例感兴趣的小伙伴,下面一起跟随512笔记的小编巴闭妹来看看 ...

  6. oracle 括号全角转半角,Oracle 表字段全角字符转换半角字符办法

    如何把oracle表中的全角字符转换为半角字符? a表包含全角字符的字段:address update a set a.address =(to_single_byte(a.address)) 执行, ...

  7. php字符串里含有全角符号,php将字符串中全角字符转换为半角字符_PHP教程

    php将字符串中全角字符转换为半角字符 php将字符串中全角字符转换为半角字符,摘自ecshop. /** * 将一个字串中含有全角的数字字符.字母.空格或'%+-()'字符转换为相应半角字符 * @ ...

  8. Oracle 表字段全角字符转换半角字符办法

    如何把oracle表中的全角字符转换为半角字符? a表包含全角字符的字段:address update a set a.address =(to_single_byte(a.address))执行,提 ...

  9. C#实现全角字符和半角字符转换

    本文转自: http://blog.csdn.net/wangchao1982/article/details/1857444,写的很好,直接转了,谢谢! 很多的朋友都在学习和工作中遇到过全角和半角的 ...

  10. Java 全角字符转半角字符(icu的Transliterator使用)

    Java 全角字符转半角字符 互相转换. 可以直接实现,也可以直接用jar包 有ICU包直接用就好 <dependency><groupId>com.ibm.icu</g ...

最新文章

  1. Android开发——跟随手指的小球实现
  2. 1693: 选数(DFS)
  3. 基于OpenGL的三种直线生成算法
  4. ssl2294-打包【dp练习】
  5. LeetCode 1063. 有效子数组的数目(单调栈)
  6. 飞秋爱好者(WZ132)
  7. PHP内核通用网站后台权限管理系统源码
  8. python3.7安装, 解决pip is configured with locations that require TLS/SSL问题
  9. MySQL--timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性
  10. 编写一个脚本判断某个用户是否处在活动模式_大数据技术之Spark内核解析(二)Spark 部署模式...
  11. [导入]哀悼与感动同在[转载]
  12. 免费下载qq音乐的音频资源的方法
  13. Python处理QXDM抓取log
  14. 《中国各省名由来》 2010年11月03日
  15. android下载工具 磁力,【安卓+iOS】磁力搜索+下载工具
  16. 可以在电脑上刷微信朋友圈啦-微信 mac最新版
  17. 低成本DIY:4G/5G网络遥控无人机-无人车-图传/数传/遥控一体!
  18. 京东VC后台自动批量上传主图 大聪明自动传主图 c# selenium网页自动化传图
  19. uinapp下拉刷新,更新列表数据
  20. php判断无理数,如何快速判断一个数的开方是不是无理数?

热门文章

  1. android ViewBinding
  2. 消息队列之Kafka从入门到小牛
  3. 有些梦想任时光侵袭也无法忘记,社科院杜兰金融管理硕士项目助你圆梦
  4. 运动蓝牙耳机挑选要注意什么?蓝牙耳机知识科普
  5. Ubuntu 安装netstat网络工具
  6. revel MySQL_Go语言revel环境搭建
  7. 服务器提示临时文件已满,为什么显示“临时文件夹已满或不能访问”
  8. Introduction to Wireless LAN Measurements From 802.11a to 802. 11 ac
  9. 以教育行业为例,教产品经理如何做行业分析
  10. Yingye Zhu‘s Luogu Background