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

本文实例讲解了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全角转半角、python3 全角转半角、实现全角和半角的切换、全角半角转换,以便于您获取更多的相关知识。

时间: 2024-12-22 20:59:43

Python实现全角半角转换的方法_python的相关文章

PHP全角半角转换函数

 这篇文章主要介绍了PHP全角半角转换函数,把目前能找到的所有全角都列出来了一个个替换吧,需要的朋友可以参考下 之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题.最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧   代码如下: /**  * 全角字符转换为半角  *  * @param string $str  * @return string  */  public function Sbc2Dbc($str)  {  $arr = array

asp(javascript)全角半角转换代码 dbc2sbc_javascript技巧

asp全角半角转换函数 flag=-1时进行半角转全角 flag=0时进行半角全角互转 flag=1时进行全角转半角 复制代码 代码如下: <% Function DBC2SBC(Str, flag) Dim i, sStr If Len(Str)<= 0 Then Exit Function DBC2SBC = "" For i = 1 To Len(Str) sStr = Asc(Mid(Str, i, 1)) Select Case flag Case -1 If s

javascript实现全角半角检测的方法_javascript技巧

本文实例讲述了javascript实现全角半角检测的方法.分享给大家供大家参考.具体如下: //全角半角校验 function issbccase(strTmp) { for (var i=0; i<strTmp.length; i++) { if (strTmp.charCodeAt(i) > 128){ return true; break; } } return false; } 希望本文所述对大家的javascript程序设计有所帮助. 以上是小编为您精心准备的的内容,在的博客.问答.

JavaScript函数全角半角转换代码

  用JavaScript实现的全角.半角转换功能,为了用着方便,写成了函数,用时候把代码复制到你的JS公共函数库中,用时候调用.   现在用不上?那就先收藏也不错.

java 全角半角字符转换如何实现_java

复制代码 代码如下: package com.whatycms.common.util; import org.apache.commons.lang.StringUtils; /** * <PRE> * 提供对字符串的全角->半角,半角->全角转换 * </PRE> */ public class BCConvert { /** * ASCII表中可见字符从!开始,偏移位值为33(Decimal) */ static final char DBC_CHAR_START

java 全角半角字符转换的方法实例_java

如果搞明白了Java中全角字符和半角字符之间的关系那他们之间的转换根本就不是个事. 可以通过下面的程序看看Java中所有字符以及对应编码的值 复制代码 代码如下:     public static void main(String[] args) {        for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {            System.out.println(i + "    "

百度输入法怎么切换全角半角模式?百度输入法全半角切换方法图解

  百度输入法怎么切换全角半角?输入法软件的全角半角切换方法都是一样的,键盘shift+space键即可切换.但是很多百度输入法用户说没有用,其实只需要在设置里面稍微改动一下就可以了. 百度输入法全角半角切换方法: 1.首先,一般第一次用的朋友可以找不到全角半角切换选项,设置步骤如下图: 点击百度的图标,将全半角符号勾上 可以看到全半角切换键就在主界面显示了! 2.到这里还没结束哦,百度输入法如果需要切换全半角还得在系统设置里面操作一下 点击齿轮状的设置按钮,点击设置 找到按钮设置选项中的"响应

如何批量修改字母标点全角半角?

  在处理文档过程中,人们经常会碰到要把全文标点符号.全角半角字母转换.大小写字母转换的转换诸如此类的问题.虽然简单,但是很繁琐.有没有什么办法能批量进行修改呢?下面就告诉你如何用EmEditor批量修改字母标点全角半角. EmEditor(文本编辑器):http://www.xp85.com/html/EmEditor.html 英文表述不规范超速替换 如果一篇文章中涉及到的英文单词不合乎规范,比如本该以小写出现的单词全部以大写出现了,或者本该是以全部缩略词出现的单词却以全部小写或大小写混合的

轻松自在,Word全角半角来回转

用Word写作,免不了引用网页或http://www.aliyun.com/zixun/aggregation/16864.html">PDF文档等处的资料,很 多时候粘贴过来的英文或数字是全角字符,整个版面看起来很不协调,需要将全角字符转换为半角字符.由于Word提供的字符全角半角相互转换功能"隐藏"较深, 其实操作非常简单,并且能快速有效地解决问题. Word 2003:首先选中需要相互转换的英文字母或数字等,单击"格式"菜单下的"更改