Merge pull request #963 from GalaxySnail/update-bv-python
修复BV号av号转换算法的 python 实现中的类型错误,提高可读性
This commit is contained in:
@@ -162,20 +162,19 @@ BASE = len(ALPHABET)
|
|||||||
PREFIX = "BV1"
|
PREFIX = "BV1"
|
||||||
PREFIX_LEN = len(PREFIX)
|
PREFIX_LEN = len(PREFIX)
|
||||||
CODE_LEN = len(ENCODE_MAP)
|
CODE_LEN = len(ENCODE_MAP)
|
||||||
BV_LEN = PREFIX_LEN + CODE_LEN
|
|
||||||
|
|
||||||
def av2bv(aid: int) -> str:
|
def av2bv(aid: int) -> str:
|
||||||
bvid = [""] * 9
|
bvid = [""] * 9
|
||||||
tmp = (MAX_AID | aid) ^ XOR_CODE
|
tmp = (MAX_AID | aid) ^ XOR_CODE
|
||||||
for i in range(CODE_LEN):
|
for i in range(CODE_LEN):
|
||||||
bvid[ENCODE_MAP[i]] = ALPHABET[int(tmp % BASE)]
|
bvid[ENCODE_MAP[i]] = ALPHABET[tmp % BASE]
|
||||||
tmp /= BASE
|
tmp //= BASE
|
||||||
return PREFIX + "".join(bvid)
|
return PREFIX + "".join(bvid)
|
||||||
|
|
||||||
def bv2av(bvid: str) -> int:
|
def bv2av(bvid: str) -> int:
|
||||||
assert bvid[:3] == PREFIX
|
assert bvid[:3] == PREFIX
|
||||||
|
|
||||||
bvid = list(bvid[3:])
|
bvid = bvid[3:]
|
||||||
tmp = 0
|
tmp = 0
|
||||||
for i in range(CODE_LEN):
|
for i in range(CODE_LEN):
|
||||||
idx = ALPHABET.index(bvid[DECODE_MAP[i]])
|
idx = ALPHABET.index(bvid[DECODE_MAP[i]])
|
||||||
|
|||||||
Reference in New Issue
Block a user