هل هناك أي فرق بين المعرف الفريد العمومي و UUID?

StackOverflow https://stackoverflow.com/questions/246930

  •  05-07-2019
  •  | 
  •  

سؤال

أرى هذه 2 المختصرات ألقيت حول و كنت أتساءل إذا كان هناك أي اختلافات بين GUID و UUID?

هل كانت مفيدة؟

المحلول

على الإجابة بسيطة هو: لا فرق, هم نفس الشيء.نعاملهم 16 بايت (128 بت) القيمة التي يتم استخدام قيمة فريدة من نوعها.في Microsoft الكلام ما يطلق عليه Guid, ولكن ندعو لهم UUIDs عندما لا تستخدم Microsoft الكلام.

حتى أصحاب UUID مواصفات مايكروسوفت تدعي أنها مرادفات:

  • من مقدمة IETF RFC 4122 "وهو المعرف الفريد العمومي (UUID) جرة مساحة":"موحد الموارد اسم مساحة الاسم UUIDs (المعرف الفريد), المعروف أيضا باسم Guid (معرف فريد عمومي)."

  • من ITU-T التوصية X. 667 ISO/IEC 9834-8:2004 القياسية الدولية:"UUIDs المعروف أيضا معرفات فريد عمومي (Guid) ، ولكن هذا المصطلح لا يستخدم في هذه التوصية."

  • و حتى مايكروسوفت المطالبات GUID هو محدد من قبل UUID RFC:"في Microsoft Windows البرمجة و أنظمة التشغيل ويندوز ، معرف فريد عمومي (GUID) ، كما هو محدد في [RFC4122] ، ...المصطلح المعرف الفريد العمومي (UUID) يستخدم أحيانا في ويندوز البروتوكول المواصفات كمرادف GUID."

ولكن الإجابة الصحيحة يعتمد على ما السؤال يعني عندما يقول "UUID"...

الجزء الأول يعتمد على ما اسكر يفكر عندما يقولون "UUID".

مايكروسوفت تدعي يعني أن جميع UUIDs هي Guid.ولكن هل كل Guid الحقيقي UUIDs?هذا هو مجموعة من UUIDs مجرد السليم فرعية من مجموعة من المعرفات الفريدة العمومية ، أو هو نفس ؟

تبحث في تفاصيل RFC 4122 ، هناك أربعة أنواع مختلفة من "المتغيرات" من UUIDs.هذا هو الغالب لأن مثل 16 بايت معرفات كانت قيد الاستخدام من قبل تلك المواصفات جمعت في إنشاء UUID المواصفات.من قسم 4.1.1 من RFC 4122, الأربعة المتغيرات من UUID هي:

  1. محفوظة ، شبكة نظام الحوسبة التوافق
  2. على البديل محدد في RFC 4122 (التي يوجد الفرعية الخمسة المتغيرات ، والتي تسمى "إصدارات")
  3. محفوظة ، Microsoft Corporation التوافق
  4. محفوظة في المستقبل التعريف.

وفقا RFC 4122 كل UUID المتغيرات هي "حقيقية UUIDs" ، ثم كل Guid حقيقية UUIDs.إلى حرفية السؤال "هل هناك أي فرق بين المعرف الفريد العمومي و UUID" الجواب هو بالتأكيد لا RFC 4122 UUIDs: لا فرق (ولكن تخضع الجزء الثاني أدناه).

ولكن ليس كل المعرفات الفريدة العمومية البديل 2 UUIDs (مثلا ، Microsoft COM Guid التي هي البديل 3 UUIDs).إذا كان السؤال "هل هناك أي فرق بين المعرف الفريد العمومي و البديل 2 UUIDs" ، ثم يكون الجواب نعم -- أنها يمكن أن تكون مختلفة.شخص يسأل سؤال ربما لا يعرف عن المتغيرات وأنها قد تكون فقط أفكر البديل 2 UUIDs عندما يقولون كلمة "UUID" (مثلا ، أنها غامضة تعرف من عنوان MAC+الوقت و رقم عشوائي خوارزميات أشكال UUID ، الإصدارات من البديل 2).في هذه الحالة, الجواب هو نعم مختلفة.

وبالتالي فإن الجواب في جزء منه يعتمد على ما المطلوب هو التفكير عندما يقولون كلمة "UUID".تعني البديل 2 UUID (لأن هذا هو الحل الوحيد البديل هم على علم) أو كل UUIDs?

الجزء الثاني يعتمد على مواصفات تستخدم تعريف UUID.

إذا كنت تعتقد أن كان مربكا, قراءة قطاع تقييس الاتصالات X. 667 ISO/IEC 9834-8:2004 والتي من المفترض أن تكون متسقة تماما من الناحية الفنية متوافقة مع RFC 4122.وقد إضافية الجملة في البند 11.2 الذي يقول: "كل UUIDs مطابقة هذه التوصية | المعيار الدولي يكون البديل بت مع 7 بت من بتات 7 تعيين إلى 1 و 6 من الثماني 7 تعيين إلى 0".وهو ما يعني أن فقط البديل 2 UUID تتوافق مع هذا المعيار (هذان بت القيم يعني البديل 2).إذا كان هذا صحيحا, ثم ليس كل المعرفات الفريدة العمومية مطابقة ITU-T/ISO/IEC UUIDs لأن conformant ITU-T/ISO/IEC UUIDs يمكن أن يكون إلا البديل 2 القيم.

ولذلك فإن الجواب الحقيقي يعتمد أيضا على مواصفات UUID السؤال يسأل عنه.على افتراض من الواضح أننا نتحدث عن كل UUIDs و ليس فقط البديل 2 UUIDs:هناك لا فرق بين GUID و IETF UUIDs ، ولكن نعم الفرق بين GUID ، مطابقة ITU-T/ISO/IEC هو UUIDs!

ثنائي ترميزات يمكن أن تختلف

عندما المشفرة في الثنائية (في مقابل الإنسان للقراءة تنسيق النص) ، GUID قد يتم تخزين في هيكل مع أربعة مجالات مختلفة على النحو التالي.هذا الشكل يختلف UUID القياسية فقط في ترتيب البايت الأول 3 مجالات.

Bits  Bytes Name   Endianness  Endianness
                   (GUID)      RFC 4122

32    4     Data1  Native      Big
16    2     Data2  Native      Big
16    2     Data3  Native      Big
64    8     Data4  Big         Big

نصائح أخرى

وGUID هو تنفيذ مايكروسوفت لمعيار UUID.

ويكيبيديا :

<اقتباس فقرة>   

ومصطلح GUID عادة ما يشير إلى تطبيق Microsoft من فريدة من نوعها عالميا معرف معيار (UUID).

واقتباسا المحدثة من أن نفس المادة ويكيبيديا:

<اقتباس فقرة>   

وRFC 4122 نفسه على أن UUIDs "ومن المعروف أيضا باسم المعرفات الفريدة العمومية". كل هذا يشير إلى أن "GUID"، في حين يشير في الأصل إلى متغير من UUID المستخدمة من قبل Microsoft، أصبحت مجرد اسم بديل للUUID ...

وليس حقا. GUID هو يستخدم أكثر مايكروسوفت تتمحور في حين UUID أكثر على نطاق واسع. (على سبيل المثال، كما في جرة: UUID: مخطط جرة، وفي كوربا)

وGUID ديه الاستخدام طويل الأمد في المجالات التي ليست بالضرورة قيمة 128-بت في نفس الطريقة المتبعة في UUID. على سبيل المثال، RSS تحدد المعرفات الفريدة العمومية أن يكون أي سلسلة من اختيارك ، طالما انها فريدة من نوعها، مع سمة "isPermalink" لتحديد أن القيمة التي تستخدمه هي مجرد الرابط الثابت إلى أن انضم إلى نقابة هذا البند.

وتمثيل نصية مايكروسوفت GUID يمكن أن يكون في شكل UUID التي تحيط من قبل اثنين من الأقواس المعقوفة {}.

واحد الفرق بين GUID في SQL Server و UUID في الإنترنت هو حالة إلكتروني. SQL خادم إخراج العلوي بينما كيو النواتج أقل.

ووالقيم الست عشرية "أ" من خلال "و" هي الناتج عن انخفاض الأحرف حالة وهي قضية حساسة على المدخلات. - rfc4122 # مقطع 3

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top