全域性唯一標識(guid)是一種由演算法生成的二進位制長度為128位的數字識別符號,guid主要用於擁有多個節點,多台計算機的網路或系統中。在理想情況下任何計算幾何計算機群都不會生成兩個相同的guid,guid的總數為2^128個,理論上是很難會兩個相同。guid 的格式為「******xx-***x-***x-***x-************」,其中每個 x 是 0-9 或 a-f 範圍內的乙個十六進製制數。例如:6f9619ff-8b86-d011-b42d-00c04fc964ff 即為有效的 guid 值。需要guid的時候,可以完全由演算法自動生成,不需要乙個權威機構來管理。
guid理論上能產生全球唯一的值,對於以後的資料匯入很方便。
生成兩個相同的guid的可能性非常小,但不為0,所以生成guid的短髮通常都加入了非隨機的引數(如 事件)保證這種重複情況絕對不會發生。
// 方法1 cesium的guid也是這樣生成的
function
guid()
);}var id =
guid()
;
// 方法2
function
guid()
return(s4
()+s4
()+"-"+s4
()+"-"+s4
()+"-"+s4
()+"-"+s4
()+s4
()+s4
());
}var guid =
guid
();
// 方法3
function
guid()
guidstr += ***adecimaldate;
guidstr += ***adecimaltime;
while
(guidstr.length <32)
return
this
.formatguid
(guidstr);}
/* * 功能:獲取當前日期的guid格式,即8位數的日期:19700101 * 返回值:返回guid日期格式的字條串 */
guid
.prototype.
getguiddate
=function()
/* * 功能:獲取當前時間的guid格式,即8位數的時間,包括毫秒,毫秒為2位數:12300933 * 返回值:返回guid日期格式的字條串 */
guid
.prototype.
getguidtime
=function()
/* * 功能: 為一位數的正整數前面新增0,如果是可以轉成非nan數字的字串也可以實現 * 引數: 引數表示準備再前面新增0的數字或可以轉換成數字的字串 * 返回值: 如果符合條件,返回新增0後的字條串型別,否則返回自身的字串 */
guid
.prototype.
addzero
=function
(num)
else
}/* * 功能:將y進製的數值,轉換為x進製的數值 * 引數:第1個引數表示欲轉換的數值;第2個引數表示欲轉換的進製;第3個引數可選,表示當前的進製數,如不寫則為10 * 返回值:返回轉換後的字串 */
guid
.prototype.
hexadecimal
=function
(num, x, y)
else
}/* * 功能:格式化32位的字串為guid模式的字串 * 引數:第1個引數表示32位的字串 * 返回值:標準guid格式的字串 */
guid
.prototype.
formatguid
=function
(guidstr)}}
;var guid =
newguid()
; console.
log(guid)
;
什麼是 GUID?以及 GUID 的生成
guid 的格式為 xx x x x 其中每個 x 是 0 9 或 a f 範圍內的乙個十六進製制的數字。例如 6f9619ff 8b86 d011 b42d 00c04fc964ff 即為有效的 guid 值。世界上的任何兩台計算機都不會生成重複的 guid 值。guid 主要用於在擁有多個節點 ...
生成GUID的方法
using namespace std typedef struct guid guid void giveguid strdata1,strdata2,strdata3,strdata4 0 strdata4 1 strdata4 2 strdata4 3 strdata4 4 strdata4 ...
GUID生成方式
uniqueidentifier guid 字段 在ms sql 資料庫中可以在建立表結構是指定字段型別為uniqueidentifier,並且其預設值可以使用newid 來生成唯一的guid 全域性唯一識別符號 使用newid生成的比較隨機,如果是sql 2005可以使用newsequential...