python 全角字符和半角字符切换
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 全角字符和半角字符切换相关推荐
- python全角数字_python 半角全角的相互转换
全角与半角在中文输入法里经常要接触到,后台在处理用户输入数据时需要对半角全角的相互转换.下面是python 实现的半角全角的相互转换功能. 全角与半角 全角指一个字符占用两个标准字符位置的状态. 半角 ...
- 全角英文和半角英文切换
win10有时候误操作会将半角英文变成全角英文 先将输入法切换到英文输入法 全角英文就是这样: abcdefjhigklmnop 半角英文这样 abcedfjhigk 他们之间怎么来回切换呢? 按sh ...
- python 全角半角字符转换
文章目录 1.相关原理 2. 相关代码 2.1 全角转半角 2.2 半角转全角 2.3 自定义转换 2.4 demo 参考文献 1.相关原理 全角即:Double Byte Character,简称D ...
- 全角字符和半角字符的区别
全角字符的由来# 全角符号是双字节中文编码的历史遗留问题.当年在纯文本的界面中,为了让西文和中日韩的方块字对齐,就让西文字母.数字和标点也占用一个汉字的视觉空间,并使用 2 个字节存储.后来,其中的一 ...
- php 全角符号 转成半角,php全角字符转换为半角字符简单示例
这篇文章主要为大家详细介绍了php全角字符转换为半角字符简单示例,具有一定的参考价值,可以用来参考一下. 对php全角字符转换为半角字符简单示例感兴趣的小伙伴,下面一起跟随512笔记的小编巴闭妹来看看 ...
- oracle 括号全角转半角,Oracle 表字段全角字符转换半角字符办法
如何把oracle表中的全角字符转换为半角字符? a表包含全角字符的字段:address update a set a.address =(to_single_byte(a.address)) 执行, ...
- php字符串里含有全角符号,php将字符串中全角字符转换为半角字符_PHP教程
php将字符串中全角字符转换为半角字符 php将字符串中全角字符转换为半角字符,摘自ecshop. /** * 将一个字串中含有全角的数字字符.字母.空格或'%+-()'字符转换为相应半角字符 * @ ...
- Oracle 表字段全角字符转换半角字符办法
如何把oracle表中的全角字符转换为半角字符? a表包含全角字符的字段:address update a set a.address =(to_single_byte(a.address))执行,提 ...
- C#实现全角字符和半角字符转换
本文转自: http://blog.csdn.net/wangchao1982/article/details/1857444,写的很好,直接转了,谢谢! 很多的朋友都在学习和工作中遇到过全角和半角的 ...
- Java 全角字符转半角字符(icu的Transliterator使用)
Java 全角字符转半角字符 互相转换. 可以直接实现,也可以直接用jar包 有ICU包直接用就好 <dependency><groupId>com.ibm.icu</g ...
最新文章
- Android开发——跟随手指的小球实现
- 1693: 选数(DFS)
- 基于OpenGL的三种直线生成算法
- ssl2294-打包【dp练习】
- LeetCode 1063. 有效子数组的数目(单调栈)
- 飞秋爱好者(WZ132)
- PHP内核通用网站后台权限管理系统源码
- python3.7安装, 解决pip is configured with locations that require TLS/SSL问题
- MySQL--timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性
- 编写一个脚本判断某个用户是否处在活动模式_大数据技术之Spark内核解析(二)Spark 部署模式...
- [导入]哀悼与感动同在[转载]
- 免费下载qq音乐的音频资源的方法
- Python处理QXDM抓取log
- 《中国各省名由来》 2010年11月03日
- android下载工具 磁力,【安卓+iOS】磁力搜索+下载工具
- 可以在电脑上刷微信朋友圈啦-微信 mac最新版
- 低成本DIY:4G/5G网络遥控无人机-无人车-图传/数传/遥控一体!
- 京东VC后台自动批量上传主图 大聪明自动传主图 c# selenium网页自动化传图
- uinapp下拉刷新,更新列表数据
- php判断无理数,如何快速判断一个数的开方是不是无理数?
热门文章
- android ViewBinding
- 消息队列之Kafka从入门到小牛
- 有些梦想任时光侵袭也无法忘记,社科院杜兰金融管理硕士项目助你圆梦
- 运动蓝牙耳机挑选要注意什么?蓝牙耳机知识科普
- Ubuntu 安装netstat网络工具
- revel MySQL_Go语言revel环境搭建
- 服务器提示临时文件已满,为什么显示“临时文件夹已满或不能访问”
- Introduction to Wireless LAN Measurements From 802.11a to 802. 11 ac
- 以教育行业为例,教产品经理如何做行业分析
- Yingye Zhu‘s Luogu Background