Merge pull request #963 from GalaxySnail/update-bv-python

修复BV号av号转换算法的 python 实现中的类型错误,提高可读性
This commit is contained in:
z0z0r4
2024-02-08 23:28:24 +08:00
committed by GitHub

View File

@@ -162,20 +162,19 @@ BASE = len(ALPHABET)
PREFIX = "BV1"
PREFIX_LEN = len(PREFIX)
CODE_LEN = len(ENCODE_MAP)
BV_LEN = PREFIX_LEN + CODE_LEN
def av2bv(aid: int) -> str:
bvid = [""] * 9
tmp = (MAX_AID | aid) ^ XOR_CODE
for i in range(CODE_LEN):
bvid[ENCODE_MAP[i]] = ALPHABET[int(tmp % BASE)]
tmp /= BASE
bvid[ENCODE_MAP[i]] = ALPHABET[tmp % BASE]
tmp //= BASE
return PREFIX + "".join(bvid)
def bv2av(bvid: str) -> int:
assert bvid[:3] == PREFIX
bvid = list(bvid[3:])
bvid = bvid[3:]
tmp = 0
for i in range(CODE_LEN):
idx = ALPHABET.index(bvid[DECODE_MAP[i]])