hexidecimal.py 文件源码

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

项目:eth-utils 作者: ethereum 项目源码 文件源码
def is_hex(value):
    if not is_string(value):
        return False
    elif value.lower() in {b'0x', '0x'}:
        return True

    unprefixed_value = remove_0x_prefix(value)
    if len(unprefixed_value) % 2 != 0:
        value_to_decode = (b'0' if is_bytes(unprefixed_value) else '0') + unprefixed_value
    else:
        value_to_decode = unprefixed_value

    if any(char not in string.hexdigits for char in force_obj_to_text(value_to_decode)):
        return False

    try:
        value_as_bytes = codecs.decode(value_to_decode, 'hex')
    except binascii.Error:
        return False
    except TypeError:
        return False
    else:
        return bool(value_as_bytes)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号