Преобразование Steam ID в Python
Код, который может конвертировать
- STEAM ID в STEAM ID 32 или STEAM ID 64
- STEAM ID 64 в STEAM ID или STEAM ID 32
- STEAM ID 32 в STEAM ID или STEAM ID 64
Ответы (1 шт):
Автор решения: homus32
→ Ссылка
steamid64ident = 0x0110000100000000
def steamid64_to_steamid(steamid64):
steamid64 = bin(int(steamid64))[2:]
steamid64 = "0" * (64 - len(steamid64)) + steamid64
x = int(steamid64[:8], base=2)
y = int(steamid64[-1], base=2)
z = int(steamid64[-32: -1], base=2)
return "STEAM_{}:{}:{}".format(x, y, z)
def steamid_to_steamid64(steamid: str):
steamid = steamid.split(":")
return int(steamid[2]) * 2 + steamid64ident + int(steamid[1])
def steamid_to_steamid32(steamid: str, type_="U"):
steamid = steamid.split(":")
return "[{}:1:{}]".format(type_, int(steamid[2]) * 2 + int(steamid[1]))
def steamid32_to_steamid(steamid32: str):
return steamid64_to_steamid(int(steamid32.strip("]").split(":")[2]) + steamid64ident)
def steamid32_to_steamid64(steamid32: str):
return int(steamid32.strip("]").split(":")[2]) + steamid64ident
def steamid64_to_steamid32(steamid):
return steamid_to_steamid32(steamid64_to_steamid(steamid))
if __name__ == '__main__':
steamid_64 = 76561197960287930
to_steamid = steamid64_to_steamid(steamid_64)
print(to_steamid)
to_steamid32 = steamid64_to_steamid32(steamid_64)
print(to_steamid32)
steam_id = "STEAM_1:0:11101"
to_steamid64 = steamid_to_steamid64(steam_id)
print(to_steamid64)
to_steamid32 = steamid_to_steamid32(steam_id)
print(to_steamid32)
steamid_32 = "[U:1:22202]"
to_steamid64 = steamid32_to_steamid64(steamid_32)
print(to_steamid64)
to_steamid = steamid32_to_steamid(steamid_32)
print(to_steamid)