`

python字符串编码判断

 
阅读更多
Python 字符编码判断 http://blog.sina.com.cn/s/blog_44c781ec0100sgsh.html


http://my.oschina.net/eonezhang/blog/125440
def is_chinese(uchar):
        """判断一个unicode是否是汉字"""
        if uchar >= u'\u4e00' and uchar<=u'\u9fa5':
                return True
        else:
                return False
 
def is_number(uchar):
        """判断一个unicode是否是数字"""
        if uchar >= u'\u0030' and uchar<=u'\u0039':
                return True
        else:
                return False
 
def is_alphabet(uchar):
        """判断一个unicode是否是英文字母"""
        if (uchar >= u'\u0041' and uchar<=u'\u005a') or (uchar >= u'\u0061' and uchar<=u'\u007a'):
                return True
        else:
                return False
 
def is_other(uchar):
        """判断是否非汉字,数字和英文字符"""
        if not (is_chinese(uchar) or is_number(uchar) or is_alphabet(uchar)):
                return True
        else:
                return False
 
def B2Q(uchar):
        """半角转全角"""
        inside_code=ord(uchar)
        if inside_code<0x0020 or inside_code>0x7e:      #不是半角字符就返回原来的字符
                return uchar
        if inside_code==0x0020: #除了空格其他的全角半角的公式为:半角=全角-0xfee0
                inside_code=0x3000
        else:
                inside_code+=0xfee0
        return unichr(inside_code)
 
def Q2B(uchar):
        """全角转半角"""
        inside_code=ord(uchar)
        if inside_code==0x3000:
                inside_code=0x0020
        else:
                inside_code-=0xfee0
        if inside_code<0x0020 or inside_code>0x7e:      #转完之后不是半角字符返回原来的字符
                return uchar
        return unichr(inside_code)
 
def stringQ2B(ustring):
        """把字符串全角转半角"""
        return "".join([Q2B(uchar) for uchar in ustring])
 
def uniform(ustring):
        """格式化字符串,完成全角转半角,大写转小写的工作"""
        return stringQ2B(ustring).lower()
 
def string2List(ustring):
        """将ustring按照中文,字母,数字分开"""
        retList=[]
        utmp=[]
        for uchar in ustring:
                if is_other(uchar):
                        if len(utmp)==0:
                                continue
                        else:
                                retList.append("".join(utmp))
                                utmp=[]
                else:
                        utmp.append(uchar)
        if len(utmp)!=0:
                retList.append("".join(utmp))
        return retList
 
if __name__=="__main__":
        #test Q2B and B2Q
        for i in range(0x0020,0x007F):
                print Q2B(B2Q(unichr(i))),B2Q(unichr(i))
 
        #test uniform
        ustring=u'中国 人名a高频A'
        ustring=uniform(ustring)
        ret=string2List(ustring)
        print ret
分享到:
评论

相关推荐

    python判断字符串编码的简单实现方法(使用chardet)

    本文实例讲述了python判断字符串编码的方法。分享给大家供大家参考,具体如下: 安装chardet模块 chardet文件夹放在/usr/lib/python2.4/site-packages目录下 [root@sha-sso-data01 chardet]# python Python 2.4.3 ...

    Python字符串相关操作的整理

    `encode()`方法用于将字符串编码为字节序列,`decode()`则用于将字节序列解码回字符串。两者都需要指定编码格式,如UTF-8,GBK等,以确保正确处理各种字符。 最后,值得注意的是,**Python字符串是不可变的**,这...

    Python字符串的encode与decode研究.pdf

    Python 中的字符串编码问题是非常常见的,很多开发者在处理字符串时会遇到乱码问题。这个问题的根源是 Python 字符串的内部表示是 Unicode 编码,而在编码转换时需要以 Unicode 作为中间编码。因此,了解 encode 和...

    Python字符编码判断方法分析

    本文实例讲述了Python字符编码判断方法。分享给大家供大家参考,具体如下: 方法一: isinstance(s, str) 用来判断是否为一般字符串 isinstance(s, unicode) 用来判断是否为unicode 或 if type(str).__name__!=...

    判断字符串编码是utf-8还是gb23121

    在进行多语言网站开发或处理国际化数据时,字符串编码的判断是至关重要的一步。不同的编码方式将直接影响数据的存储、传输以及显示效果。尤其在中文环境下,常见的编码有UTF-8和GB2312两种。其中,UTF-8编码是国际...

    1.python字符串应掌握知识点.doc

    Python字符串是编程中不可或缺的基本元素,它在Python中扮演着重要的角色。以下是对标题和描述中涉及的Python字符串知识点的详细说明: 1. **字符串的本质**:字符串是字符的序列,由一系列字符组成,每个字符都有...

    python使用chardet判断字符串编码的方法

    本篇文章将详细解释如何使用`chardet`来判断字符串编码,并探讨Python中与编码相关的几个关键概念。 首先,让我们深入了解`chardet`库。在Python中,`chardet`是一个自动识别非ASCII字符编码的库,支持多种编码格式...

    python统计字符串中中英文、空格、数字、标点个数

    在Python编程语言中,统计字符串中的中英文字符、空格、数字和标点符号是一项常见的任务,这在数据...这个过程涉及了Python基础语法、字符串操作、Unicode编码以及文件读写等多个知识点,对于初学者来说是很好的练习。

    Python判断文件和字符串编码类型的实例

    python判断文件和字符串编码类型可以用chardet工具包,可以识别大多数的编码类型。但是前几天在读取一个Windows记事本保存的txt文件时,GBK却被识别成了KOI8-R,无解。 然后就自己写了个简单的编码识别方法,代码...

    python源码字符串处理技术

    在这个过程中,了解Python字符串处理技术的深入应用对于实现功能至关重要。掌握这些技能不仅对于进行字符串的日常处理有帮助,而且在数据处理、网络编程、文件操作等多个领域也都是不可或缺的。 总结起来,Python...

    python字符串的方法与操作大全

    Python作为一门高级编程语言,其内置的字符串处理能力十分强大,本篇将详细介绍Python中字符串的方法与操作。 首先,字符串的基本操作包括判断是否包含特定子串,这可以通过`__contains__()`方法实现,它会返回一个...

    python的字符串内建函数方法

    自Python 1.6版本以来,这些方法不断得到增强和完善,直至Python 3.7,它们提供了丰富的功能,涵盖了字符串操作的各个方面,包括格式化、搜索、替换、编码与解码等。 首先,`capitalize()`方法用于将字符串的第一个...

    python 字符串常用方法汇总详解

    以下是对Python字符串常用方法的详细汇总与详解。 首先,进行大小写的转换,Python提供了 `.upper()` 和 `.lower()` 方法。`.upper()` 方法可以将字符串中的所有字符转为大写形式,而 `.lower()` 则将所有字符转为...

    判断字符串中是否包含emoji表情

    判断字符串是否包含emoji表情

    python字符串编码识别模块chardet简单应用

    ### Python字符串编码识别模块Chardet简单应用 在日常编程工作中,我们经常遇到需要处理不同编码格式的文本文件。为了确保程序能正确解读这些文件的内容,我们首先需要确定其编码方式。Python提供了一个非常强大的...

    判断字符串有多少个汉字和标点符号

    #### 一、字符串中汉字与标点符号的判断方法 在进行文本处理时,经常需要判断一个字符串中包含了多少个汉字和标点符号。本篇文章将详细探讨如何实现这一功能,并深入理解其中涉及的Unicode编码知识。 #### 二、...

    Python判断中文字符串是否相等的实例

    Python判断两个相等的中文字符串为false,将两个待比较的字符串都把unicode编码设为‘utf-8’也不能解决问题,具体原因如下: 1.首先查看待比较两个字符串的编码格式 ,使用命令 import chardet ...... string_code...

Global site tag (gtag.js) - Google Analytics