提升uuid + boost endian

我需要将uuids放置在我不控制的内存中(一个指针传递给我(shm支持文件)),但是我必须确保存储在给定指针处的内容是可移植的,即我想使用boost :: endian来解决uuids的小端问题。 是否有可能结合boost :: endian和boost:uuid?


您无需担心UUID的排序问题。 他们不被视为数值。 它们只是16个字节的不透明块。 您可以在UUID上执行的唯一有意义的操作是比较相等性。


UUID的字节顺序很重要(与@Ferruccio相反)。 UUID的字节顺序可因实施和平台而异。 正如这里所讨论的,UUID由RFC 4122管理,它只建议UUID以big-endian格式存储。

在特定的实现或协议中,是的,你可以做一个字节比较。 (这是UUID的好处之一。)

例如:

  • RFC4122建议使用big-endian,
  • boost :: uuid使用big-endian。
  • 微软的API(例如CoCreateGUID)使用little-endian。
  • libuuid / uuidgen使用本地排序。
  • Python uuid可以做大或小,但你必须指定
  • 所以是的,为了便于携带,您应该指定要使用哪种字节序来存储它们,并根据需要进行字节交换以保持一致。

    链接地址: http://www.djcxy.com/p/91449.html

    上一篇: Boost uuid + boost endian

    下一篇: Windows 10 generate a UUID for UWP in C++