当前位置: 首页 > 面试题库 >

在PHP中将“原始”字符串格式转换为Java UUID

宣望
2023-03-14
问题内容

在PHP中,是否存在更有效,简化的方法来将“格式化的” Java UUID(不带破折号)转换为Java兼容格式(带破折号),并且最终:我将如何做?

我有已经执行此操作的代码,但是它似乎不专业,我认为可以更有效地完成它。

[... PHP code ...]
$uuido = $json['id'];

$uuidx = array();
$uuidx[0] = substr( $uuido, 0, 8 );
$uuidx[1] = substr( $uuido, 8, 4 );
$uuidx[2] = substr( $uuido, 12, 4);
$uuidx[3] = substr( $uuido, 16, 4);
$uuidx[4] = substr( $uuido, 20, 12);

$uuid = implode( "-", $uuidx );
[... PHP code ...]

Input:  f9e113324bd449809b98b0925eac3141
Output: f9e11332-4bd4-4980-9b98-b0925eac3141

该数据来自$json['id']从以下称为Mojang提供文件API使用的file_get_contents( $url )函数组合json_decode( $file ),这可以通过或者卷曲来完成-
但因为它最终会立刻要求任何东西,以2048点的配置文件,我想它会变得缓慢。

通过以下ProjectRogue Server Ping
API
,我确实可以使用我的代码,并且可以将其公开使用,该API通常包含一系列在线播放器。

注意: 有几个与此相关的问题,但据我所知,没有一个问题适用于PHP。我看了

我提到Java UUID,因为解析后的输出应有效地转换为Player
UUID,以便在1.7.X之后在Spigot或Craftbukkit的基于Java的插件中使用。


问题答案:

您的问题没有多大意义,但是假设您想以Java正确的格式读取UUID,则可以执行以下操作:

import java.util.UUID;
class A
{
    public static void main(String[] args){


        String input = "f9e113324bd449809b98b0925eac3141";                         
        String uuid_parse = input.replaceAll(                                            
                        "(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})",                            
                        "$1-$2-$3-$4-$5");

        UUID uuid = UUID.fromString(uuid_parse);
        System.out.println(uuid);
    }
}

从Maerics借来的,请参阅此处:https
://stackoverflow.com/a/18987428/4195825

或者在PHP中,您可以执行以下操作:

<?php 
    $UUID = "f9e113324bd449809b98b0925eac3141";
    $UUID = substr($UUID, 0, 8) . '-' . substr($UUID, 8, 4) . '-' . substr($UUID, 12, 4) . '-' . substr($UUID, 16, 4)  . '-' . substr($UUID, 20);
    echo $UUID;
?>

从fico7489借来的:https
://stackoverflow.com/a/33484855/4195825

然后,可以将其发送到Java,在Java中使用可以创建UUID对象fromtString()



 类似资料:
  • 我将字节数组转换为字符串,格式为,如下所示: 我想不出现在如何从我的字符串返回字节数组,实质上恢复我最初所做的工作。任何帮助都将得到很大的支持:)

  • 问题内容: 在Python中,我有一个像这样的字符串: 如何将其解码为普通字符串,例如: 问题答案: 如果您的输入值为字符串,请使用进行转换: 如果输入值是一个对象,则可以使用方法: 演示: 可以使用编解码器解码Python 2个字节的字符串: 对于 Unicode 文字(例如带前缀),请使用。

  • 问题内容: 我正在尝试将字符串转换为日期格式,我尝试了很多方法来实现此目的,但是没有成功。我的字符串是“ 2012年1月17日”。我想将其转换为“ 2011-10-17”。有人可以告诉我这样做的方法吗?如果您通过示例工作过,那将是真正的帮助! 问题答案:

  • 问题内容: 我想要这种格式 问题答案: 您需要先 解析 日期字符串(使用方法),才能 使用与格式匹配的格式获取对象。 然后使用所需的格式来 格式化 Date对象(Use 方法)以获取字符串。 输出:- 第一种格式是RFC 822 TimeZone与您的日期字符串匹配。有关在日期格式中使用的其他各种选项,请参见。

  • 问题内容: 有这样的字符串。 我想将其转换为确切的日期时间格式,以将其存储在SQL中。 熟悉如下所示的许多字符串到日期的转换。 但是我需要将 带有时间戳的字符串转换为其日期格式。 谁能解释将其转换为java.util.Date格式的正确方法。 问题答案: 试试这个: 为了将来的参考,请阅读SimpleDateFormat类:http : //docs.oracle.com/javase/7/doc

  • 问题内容: 有没有一种方法可以将整数转换为PHP中的字符串? 问题答案: 您可以使用该函数将数字转换为字符串。 从维护的角度来看,它显然是您正在尝试做的事情,而不是其他一些更深奥的答案。当然,这取决于您的上下文。