2013-02-25 9 views
5

मैं देख रहा हूँ http://www.ietf.org/rfc/rfc4122.txtएक आरएफसी 4122 संस्करण 4

एक आरएफसी 4122 संस्करण 4 की अधिकतम लंबाई क्या है की अधिकतम लंबाई? दूसरे शब्दों में, क्या यह हमेशा वही अधिकतम लंबाई है क्योंकि इस उदाहरण स्ट्रिंग मान को दस्तावेज़ से लिया गया है? f81d4fae-7dec-11d0-a765-00a0c91e6bf6

मुझे लगता है कि इस सवाल का जवाब वाले अनुभाग के

मैं के लिए एक दूसरे की राय चाहते थे "UUID स्ट्रिंग प्रतिनिधित्व की औपचारिक परिभाषा निम्नलिखित ABNF द्वारा प्रदान की जाती है" में निहित है डेटाबेस तालिका कॉलम (वर्कर) के लिए।

धन्यवाद!

+0

मेरे पास कोई जवाब नहीं है, लेकिन आप किस डेटाबेस सर्वर का उपयोग कर रहे हैं? कुछ डेटाबेस में यूयूआईडी स्टोर करने के लिए समर्पित प्रकार हैं। उदाहरण के लिए SQL सर्वर में 'अद्वितीय पहचानकर्ता' प्रकार है। –

+0

अच्छा सवाल। आकाशवाणी। मैं देखता हूं "http://www.michelrenaud.com/?p=3 – finneycanhelp

+0

[संबंधित प्रश्न] के अनुसार" ओरेकल में कोई GUID या अद्वितीय पहचानकर्ता प्रकार नहीं है [http://stackoverflow.com/questions/153815/how-Should मैं दुकान की एक guid में ओरेकल)। –

उत्तर

4

RFC 4122 के अनुसार:

एक UUID 128 बिट लंबा है, और स्थान और समय के पार विशिष्टता गारंटी ले सकते हैं।

UUID     = time-low "-" time-mid "-" 
          time-high-and-version "-" 
          clock-seq-and-reserved 
          clock-seq-low "-" node 
    time-low    = 4hexOctet 
    time-mid    = 2hexOctet 
    time-high-and-version = 2hexOctet 
    clock-seq-and-reserved = hexOctet 
    clock-seq-low   = hexOctet 
    node     = 6hexOctet 
    hexOctet    = hexDigit hexDigit 
    hexDigit = 
     "0"/"1"/"2"/"3"/"4"/"5"/"6"/"7"/"8"/"9"/
     "a"/"b"/"c"/"d"/"e"/"f"/
     "A"/"B"/"C"/"D"/"E"/"F" 

हम 16 hexOctet की कुल राशि:

लेकिन अगर हम स्ट्रिंग प्रतिनिधित्व जानना चाहते हैं, हम ABNF जाँच करने के लिए की जरूरत है। हम हेक्सऑक्टेट प्लस 4 गुना चरित्र ("-") द्वारा 2 अक्षरों की गणना करते हैं। हमारे पास संस्करण के बावजूद कुल 16 * 2 + 4 = 36 वर्ण हैं।

संबंधित मुद्दे