docs/misc/bvid_desc.md: 使用整数除法代替浮点数除法

bv号av号转换算法本质上是一种修改过的 base58 运算,参与运算的类型都是
整数类型,所以不应该使用浮点数除法 /= 而应该使用整数除法 //=

这也修复了 mypy 的类型不匹配报错,tmp 变量被推断为整数,而
`tmp /= BASE` 相当于 `tmp = tmp / BASE`,将浮点数赋值给整数,类型不匹配
This commit is contained in:
GalaxySnail 2024-02-08 18:17:04 +08:00
parent 6fd4109cc0
commit 3387e547bb

View File

@ -167,8 +167,8 @@ 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: