首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将SteamID64转换为SteamID

将SteamID64转换为SteamID
EN

Stack Overflow用户
提问于 2015-07-07 13:42:16
回答 3查看 9.2K关注 0票数 0

我正在寻找一种方法,我可以采取一个SteamID64 (76561198032122624),并将其转换为SteamID (STEAM_0:0:35928448)在PHP。我已经找了很多次了,我找不到该怎么做。我几乎肯定这是可能的,因为像steamid.io这样的网站能够找到它,但我不知道如何找到它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-07 14:40:56

所有你需要的信息都在阀门的SteamID维基页面

遗产格式 蒸汽ID在文本表示时遵循相当简单的格式:"STEAM_X:Y:Z",其中X、Y和Z是整数。

  • X代表蒸汽帐户所属的“宇宙”。如果'X‘是0,那么这就是宇宙1(公共)。
  • Y是帐户ID的最低位。因此,Y要么是0,要么是1。
  • Z是帐户ID的最高31位。

作为64位整数

给定蒸汽ID的组件,可以将蒸汽ID转换为64位整数形式,如下所示:

(宇宙<< 56) \x{e76f}\x{e76f}\x{e76f}

我的PHP非常生疏,但是这里有一些(未经测试的)伪代码,它们应该大致完成所需的操作:

代码语言:javascript
运行
复制
var steamId64 = 76561198032122624;

var universe = (steamId64 >> 56) & 0xFF;
if (universe == 1) universe = 0;

var accountIdLowBit = steamId64 & 1;

var accountIdHighBits = (steamId64 >> 1) & 0x7FFFFFF;

// should hopefully produce "STEAM_0:0:35928448"
var legacySteamId = "STEAM_" + universe + ":" + accountIdLowBit + ":" + accountIdHighBits;
票数 7
EN

Stack Overflow用户

发布于 2017-12-13 09:24:28

代码语言:javascript
运行
复制
function steamid64_to_steamid2($steamid64) {
    $accountID = bcsub($steamid64, '76561197960265728');
    return 'STEAM_0:'.bcmod($accountID, '2').':'.bcdiv($accountID, 2);
}
票数 1
EN

Stack Overflow用户

发布于 2018-06-18 02:08:26

这是一个不需要BC数学PHP扩展的实际工作版本。

代码语言:javascript
运行
复制
<?php
    $id = "{STEAMID64 HERE}";

function parseInt($string) {
//    return intval($string);
    if(preg_match('/(\d+)/', $string, $array)) {
        return $array[1];
    } else {
        return 0;
    }}

// Convert SteamID64 into SteamID
$subid = substr($id, 4); // because calculators suck
$steamY = parseInt($subid);
$steamY = $steamY - 1197960265728; //76561197960265728
$steamX = 0;
if ($steamY%2 == 1){
$steamX = 1;
} else {
$steamX = 0;
}

$steamY = (($steamY - $steamX) / 2);
$steamID = "STEAM_0:" . (string)$steamX . ":" . (string)$steamY;
echo $steamID;

?>
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31270278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档