python 全半角符号转换

news/2024/11/17 2:36:44/

原文链接http://www.jb51.net/article/53903.htm

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

一、全角半角转换概述:

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

二、全角转半角:

实现代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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
        else:
             rstring + = unichr (inside_code)
   return rstring

三、半角转全角:

实现代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
def strB2Q(ustring):
    """把字符串半角转全角"""
    rstring = ""
    for uchar in ustring:
         inside_code = ord (uchar)
         if inside_code = = 0x0020 : #除了空格其他的全角半角的公式为:半角=全角-0xfee0
             inside_code = 0x3000
         else :
             inside_code + = 0xfee0
        if inside_code<0x0020 or inside_code>0x7e:   #不是半角字符就返回原来的字符
            rstring  + =  uchar
        else:
             rstring + = unichr (inside_code)
    return rstring

四、测试代码:

?
1
2
3
4
a = strB2Q( "abc12345" )
print a
b = strQ2B(a)
print b

输出:

?
1
2
abc12345
abc12345

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


http://www.ppmy.cn/news/530720.html

相关文章

输入法的半角和全角切换

说出来可能不能信 今天在搜狗法中不小心按住快捷键导致输入法半角切换全角 很巧合的无法通过图标进行切换 恰逢其会 快捷键也给忘记了 &#xff0e;<{&#xff0e;&#xff0e;&#xff0e;&#xff0e;呜呜 很尴尬的… 模拟效果图 String name "张三"; …

全角转半角与半角转全角

1.全角&#xff1a;指一个字符占用两个标准字符位置。汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的&#xff0c;只是在作文字处理时才会使用全角字符。 2.半角&#xff1a;指一字符占用一个标准的字符位…

wps怎么统一修改标点符号_如何批量修改字母标点全角半角?

在处理文档过程中,人们经常会碰到要把全文标点符号、全角半角字母转换、大小写字母转换的转换诸如此类的问题。虽然简单,但是很繁琐。有没有什么办法能批量进行修改呢?下面就告诉你如何用EmEditor批量修改字母标点全角半角。 EmEditor(文本编辑器):http://www.xp85.com/html…

输入法中半角与全角的区别

在计算机屏幕上&#xff0c;一个汉字要占两个英文字符的位置&#xff0c;人们把一个英文字符所占的位置称为"半角"&#xff0c;相对地把一个汉字所占的位置称为"全角"。在汉字输入时&#xff0c;系统提供"半角"和"全角"两种不同的输入…

全角半角标点的转换

--full2halfCREATE FUNCTION [dbo].[full2half](String nvarchar(max))RETURNS nvarchar(max)AS/*全角(Fullwidth)转换为半角(Halfwidth)*/BEGIN DECLARE chr nchar(1) DECLARE i int SET String REPLACE(String,N ,N ) SET i PATINDEX(N%[&#xff01;-&#x…

【字符转换】——全角和半角转换

背景 在我们使用搜狗输入法的时候会有全角和半角的切换&#xff0c;首先看一下这两者的区别吧 全角&#xff0c;指一个字符占用两个标准字符位置的状态&#xff0c;也是排字的度量单位&#xff0c;宽度等于所使用的文字的磅数汉。 半角&#xff0c;即一个字符占用一个标准字…

了解全角和半角,以及全角和半角的相互转换

一、关于全角和半角 1、什么是全角&#xff0c;半角&#xff1f; 全角&#xff1a;是一种电脑字符&#xff0c;是指一个全角字符占用两个标准字符&#xff08;或两个半角字符&#xff09;的位置。全角占两个字节。 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号…

全角和半角

一、是什么&#xff1f; 「全角」和「半角」是指计算机中CJK 字符的显示格式。&#xff08;读完全文就可知&#xff0c;这是个不算太严谨但可以稍加补充解释&#xff0c;就能严谨的定义&#xff09; 字符存储空间 在计算机字符被设计时&#xff0c;西方字符&#xff0c;例如拉…