一些Unicode字符总结

控制字符包含了\n\t\r\f等,将他们统一替换为空字符串。这里面没有包含空格。将U+007F->DEL也包含在里面了。

control_chars = u"[\u0000-\u001F\u007f-\u009f]"

标点和数字 替换为空 引号、中划线、加号除外

other_chars = u"[\u0021-\u0026\u0028-\u002a\u002c\u002e-\u0040\u005b-\u005f\u007b-\u007e\u00a1-\u00bf\u00d7\u00f7]"

加号,不处理

addition_chars = u"+"

可能作为中划线的符号,替换为加号

middle_line_chars = u’[\u002d\u2010-\u2015\u2212]’

可能作为引号的符号,替换为加号

quotation_chars = u’[\u0027\u0060\u00b4\u2019\u2032]’

其他空白字符,包含空格,替换为+

space_chars = u"[\u0020\u00a0\u180e\u2000-\u200f\u2028-\u202f\u205f-\u206F\u3000\ufe0f\ufeff\ufffe]"

在过滤过程中总结出来的字符,如:™•○・

special_chars = u"[\u2122\u2022\u25cb\uff65]"

拉丁文字母说明 大写字母 小写字母 拉丁文补充 拉丁文补充 拉丁文补充 拉丁文扩展A+B和IPA

latin_chars = u"[\u0041-\u005a\u0061-\u007a\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u00ff\u0100-\u02af]"

以上字段中几乎包含了\u0000-\u02af所有,缺失的还不清楚
西里尔字母

cyrillic_letters = u’[\u0400-\u04FF\u0500-\u052F]’

亚美尼亚字母(不用过滤)

armenian_letters = u’[\u0530-\u058F]’

希腊字母(不用过滤)

greek_letters = u’[\u0370-\u03FF\u1F00-\u1FFF]’

阿拉伯字母(需要过滤)包含波斯字母、乌尔都字母

arabic_letters = u’[\u0600-\u06FF\u0750-\u077F]’

泰语(不用过滤)

thai_letters = u"[\u0E00-\u0E7F]"

天成文,用来书写印地语、梵语、尼泊尔语

devanagari_letters = u"[\u0900-\u097F]"

希伯来字母

hebrew_letters = u"[\u0590-\u05FF]"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Python 中,可以使用内置的 `unicode` 类型来表示 Unicode 字符。 你可以用字符串前缀 `u` 来表示一个字符串是 Unicode 字符串: ```python >>> s = u'Hello, World!' >>> type(s) <type 'unicode'> ``` 也可以使用 Python 的内置函数 `ord` 和 `unichr` 来处理 Unicode 字符: ```python >>> ord(u'A') 65 >>> unichr(65) u'A' ``` 如果你想将 Unicode 字符转换为普通的 ASCII 字符串,可以使用 Python 的内置函数 `encode`: ```python >>> s = u'Hello, World!' >>> s.encode('utf-8') 'Hello, World!' ``` 如果你想将普通的 ASCII 字符串转换为 Unicode 字符,可以使用 Python 的内置函数 `decode`: ```python >>> s = 'Hello, World!' >>> s.decode('utf-8') u'Hello, World!' ``` 希望这些信息能帮助你。 ### 回答2: 在Python中,可以使用字符串类型的内建函数和方法来处理Unicode字符。 首先,我们可以使用`ord()`函数将Unicode字符转换为对应的十进制整数。例如,`ord('A')`会返回65。 反之,我们可以使用`chr()`函数将整数转换为对应的Unicode字符。例如,`chr(65)`会返回'A'。 另外,可以使用字符串的`encode()`方法将Unicode字符转换为字节串。该方法接受一个编码参数,默认为UTF-8。例如,`'你好'.encode()`会返回b'\xe4\xbd\xa0\xe5\xa5\xbd',表示UTF-8编码下的字节串。 相应地,可以使用字节串的`decode()`方法将字节串转换为Unicode字符。同样,该方法也接受一个编码参数,默认为UTF-8。例如,`b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode()`会返回'你好'。 此外,Python提供了`unicodedata`模块,其中包含了各种处理Unicode字符的函数和常量。例如,`unicodedata.category()`可以用于获取字符Unicode分类。`unicodedata.normalize()`可以用于标准化字符串中的Unicode字符。 最后,需要注意的是,在Python 3中,字符串默认采用Unicode编码(UTF-8),因此可以直接使用Unicode字符。而在Python 2中,字符串默认采用ASCII编码,需要手动将Unicode字符转换为字符串。可以使用`u`前缀来表示Unicode字符串,例如`u'你好'`。 总之,Python提供了许多简便的方法和函数来处理Unicode字符,可以根据具体需求使用相应的方法。 ### 回答3: 在Python中,可以使用内置的unicode函数来处理Unicode字符。 1. 创建Unicode字符串:可以使用字符串前缀u来创建Unicode字符串,例如u"你好"。此时,字符串中的每个字符都会以Unicode编码的形式存储。 2. 转换为Unicode字符编码:可以使用内置的ord()函数将字符转换为其对应的Unicode字符编码。例如,ord('A')将返回65。 3. 转换为Unicode字符串:可以使用内置的chr()函数将Unicode字符编码转换为对应的Unicode字符。例如,chr(65)将返回'A'。 4. 处理Unicode字符串的编码和解码问题:可以使用字符串对象的encode()和decode()方法来进行编码和解码操作。编码是将Unicode字符串转换为指定的字符编码形式,而解码则是将指定的字符编码形式转换为Unicode字符串。例如,可以使用encode('utf-8')将Unicode字符串编码为UTF-8形式的字节串,然后使用decode('utf-8')将UTF-8形式的字节串解码为Unicode字符。 5. 处理Unicode字符串的长度:由于Unicode字符可能占用多个字节,因此要注意使用len()函数获取Unicode字符串的长度时可能会得到比实际字符数多的结果。可以使用内置的len()函数结合unicodedata模块中的函数来正确计算Unicode字符串的实际字符数。 总结起来,Python中处理Unicode字符主要涉及创建Unicode字符串、字符Unicode字符编码的转换、Unicode字符串的编码和解码操作以及获取Unicode字符串的实际字符数等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值