UUID 和 GUID 的问题
Posted
技术标签:
【中文标题】UUID 和 GUID 的问题【英文标题】:Problem with UUID and GUID 【发布时间】:2011-06-10 15:44:17 【问题描述】:请不要将此标记为重复。我浏览了有关此主题的所有帖子,但无法解决我的问题。
我在 J2ME 中有一个使用特定 UUID 搜索蓝牙服务的应用程序:
UUID[] uuidSet = new UID("100000",true) ;
int[] attrSet = 0x0100, 0x0003, 0x0004;
int transID = agent.searchServices(attrSet,uuidSet,remoteDevice,this);
我在 VB.NET 中有一个桌面应用程序,它使用 32feet.NET 库创建具有特定 GUID 的新蓝牙服务。
Sub startBluetoothListener()
Dim lsnr As New BluetoothListener(MyConsts.MyServiceUuid, record)
lsnr.Start()
Dim conn As New BluetoothClient
Dim peerStream As Stream
End Sub
Class MyConsts
Public Shared ReadOnly MyServiceUuid As Guid _
= New Guid("7dc53df5-703e-49b3-8670-b1c468f47f1f")
End Class
现在按照规则,为了正常工作,GUID/UUID 都应该匹配。但是在 .NET 中,GUID 表示为十六进制字符串,而在 JAVA 中则不同。我在 Google 上搜索了很多关于如何同步 J2ME 和 .NET GUID/UUID 但未能成功。
【问题讨论】:
【参考方案1】:我已经阅读了 UUID 的 j2me 实现的源代码,它似乎只是表明您省略了大括号和连字符,即使用:
new UUID("7dc53df5703e49b38670b1c468f47f1f", false)
如果您使用 true 参数,它需要一个短格式 UUID(即 8 个字符长)
我最初的答案是基于 J2SE 实现,即:
不是来自字符串的 UUID 的构造函数:
UUID aUUID = UUID.fromString("")
字符串在哪里:
7dc53df5-703e-49b3-8670-b1c468f47f1f
对于您的 UUID(即从 Guid 字符串中删除前导 '' 和尾随 '')
【讨论】:
感谢您的回复。我认为你正在谈论的 UUID 来自 J2SE 中的 java.util 。我使用的是 J2ME。 啊,好吧,我对 j2me UUID 类并不完全熟悉 - 基于 jcs.mobile-utopia.com/jcs/7627_UUID.java 的源代码,您应该省略连字符以上是关于UUID 和 GUID 的问题的主要内容,如果未能解决你的问题,请参考以下文章