text.py 文件源码

python
阅读 32 收藏 0 点赞 0 评论 0

项目:httpolice 作者: vfaronov 项目源码 文件源码
def _char_ranges(chars, as_hex=False):
    intervals = []
    min_ = max_ = None
    for c in chars:
        point = ord(c)
        if max_ == point - 1:
            max_ = point
        else:
            if min_ is not None:
                intervals.append((min_, max_))
            min_ = max_ = point
    if min_ is not None:
        intervals.append((min_, max_))
    if as_hex:
        show = lambda point: u'%#04x' % point
    else:
        show = six.unichr
    return [
        (u'%s' % show(p1)) if p1 == p2 else (u'%s–%s' % (show(p1), show(p2)))
        for (p1, p2) in intervals]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号