|
|
1
17
首先,在Python2中,您需要使用Unicode字符串(
现在,根据
Python: getting correct string length when it contains surrogate pairs
和
Python returns length of 2 for single Unicode character string
,在Python2“窄”构建中(使用
最简单的解决方案(除了迁移到3.3+版本)是从源代码编译一个Python“宽”构建,如第三个链接所述。 在它中,Unicode字符都是4字节(因此可能会占用内存),但如果您需要常规处理宽Unicode字符,这可能是一个可以接受的价格。
“窄”构建的解决方案
是
创建一组自定义字符串函数
(
下面是检测代理对的代码:
以及一个返回简单切片的函数:
在这里,您付出的代价是性能,因为这些功能比内置功能慢得多:
|
|
|
2
10
我会使用
uniseg
图书馆(
输出
将提供作为UTF-8编码字符串的字符列表。 |