導航:首頁 > 編程語言 > jsuuid函數

jsuuid函數

發布時間:2023-08-18 08:13:16

① 如何快速生成 UUID GUID

通用的GUID的結構如下

typedef struct _GUID {
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
} GUID;

舉一個例子:
假設一個GUID的格式是這樣的 6B29FC40-CA47-1067-B31D-00DD010662DA

其中Data1 是32位,可以看做8個四位十六進制數,對應於上面的6B29FC40

其中Data2 是16位,可以看做4個四位十六進制數,對應於上面的CA47
其中Data3 是16位,可以看做4個四位十六進制數,對應於上面的1067
其中Data4 比較特殊,是8個位元組也就可以看做16個四位十六進制數
取其Data4[0],Data4[1]來組成4個四位十六進制數,對應於上面的B31D
取其Data4[2],Data4[3]來組成4個四位十六進制數,對應於上面的00DD
取其Data4[4],Data4[5]來組成4個四位十六進制數,對應於上面的0106
取其Data4[6],Data4[7]來組成4個四位十六進制數,對應於上面的62DA

*注意:四位十六進制數對應一個GUID字元。

在Windows下提供了一個函數可以生成一個GUID。需要使用的頭文件 "objbase.h",需要鏈接的庫ole32.lib。
HRESULT CoCreateGuid(GUID * pguid);

在Linux下首先需要下載到相應的庫文件和頭文件
如果是Debian用戶可以方便的通過apt命令來獲取相關資源。
apt-get install uuid-dev

安裝完成後會發現
在/usr/include/ 下有一個uuid文件夾,其中則包含了uuid.h頭文件。
在/usr/lib/ 下有幾個libuuid*的鏈接庫文件,包括靜態和動態鏈接庫。

打開uuid.h你會發現有一個uuid_generate(uuid_t out) 的函數聲明。我們可以通過調用這個函數來生成UUID。
uuid_generate(reinterpret_cast<unsigned char *>(&guid));

生成GUID是不是很簡單!是的,因為生成的演算法不用我們去實現,我們是站在前人的肩膀所以我們要感謝他們。

下面給出一個WINDOWS和LINUX下通用的程序

// uuid_test.cpp
#include <string>
#include <stdio.h>
#include <iostream>
#include "uuid_test.hpp"

#ifdef WIN32
#include <objbase.h>
#else
#include <uuid/uuid.h>
#endif

using namespace std;
namespace ChinuxTeam
{
GUID CreateGuid()
{
GUID guid;
#ifdef WIN32
CoCreateGuid(&guid);
#else
uuid_generate(reinterpret_cast<unsigned char *>(&guid));
#endif
return guid;
}

std::string GuidToString(const GUID &guid)
{
char buf[64] = {0};
#ifdef __GNUC__
snprintf(
#else // MSVC
_snprintf_s(
#endif
buf,
sizeof(buf),
"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
guid.Data1, guid.Data2, guid.Data3,
guid.Data4[0], guid.Data4[1],
guid.Data4[2], guid.Data4[3],
guid.Data4[4], guid.Data4[5],
guid.Data4[6], guid.Data4[7]);
return std::string(buf);
}
}

對應的頭文件
// uuid_test.hpp"

#include <string>
#include <stdio.h>
#include <iostream>

typedef struct _GUID
{
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID, UUID;

namespace ChinuxTeam
{
GUID CreateGuid();
std::string GuidToString(const GUID &guid);
}// namespace ChinuxTeam

最後一個 GuidToString()稍微解釋一下,作用就是把GUID以固定的格式輸出到標准string字元串中,
根據編譯器的不同調用分別調用了不同的字元串列印函數。

另外附一個簡單的測試函數
#include <string>
#include <stdio.h>
#include <iostream>

#ifdef WIN32
#include "objbase.h"
#else

typedef struct _GUID
{
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID, UUID;

#endif

namespace ChinuxTeam{
GUID CreateGuid();
std::string GuidToString(const GUID &guid);
}

運行後會生成一個GUID並列印到標准輸出的控制台上。

② 如何用javascript獲取UUID

有很多辦法, 例如下面的代碼


演算法一:

js">functionuuid(){
vars=[];
varhexDigits="0123456789abcdef";
for(vari=0;i<36;i++){
s[i]=hexDigits.substr(Math.floor(Math.random()*0x10),1);
}
s[14]="4";//bits12-15ofthetime_hi_and_versionfieldto0010
s[19]=hexDigits.substr((s[19]&0x3)|0x8,1);//bits6-7oftheclock_seq_hi_and_reservedto01
s[8]=s[13]=s[18]=s[23]="-";

varuuid=s.join("");
returnuuid;
}


演算法二:

functionguid(){
return'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function(c){
varr=Math.random()*16|0,v=c=='x'?r:(r&0x3|0x8);
returnv.toString(16);
});
}


演算法三:

functionguid(){
functionS4(){
return(((1+Math.random())*0x10000)|0).toString(16).substring(1);
}
return(S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}


等等

③ js中如何產生uuid

UUID(Universally Unique IDentifier) 全局唯一標識符。
UUID是一種由演算法生成的二進制長度為128位的數字標識符。UUID
的格式為「xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx」,其中的 x 是 0-9 或 a-f
范圍內的一個32位十六進制數。在理想情況下,任何計算機和計算機集群都不會生成兩個相同的UUID。

UUID的總數達到了2^128(3.4×10^38)個,所以隨機生成兩個相同UUID的可能性非常小,但並不為0。
演算法如下:
function uuid() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";

var uuid = s.join("");
return uuid;
}

④ 什麼是UUID,Java中怎麼產生UUID

GUID是一個128位長的來數字,一源般用16進製表示。演算法的核心思想是結合機器的網卡、當地時間、一個隨機數來生成GUID。從理論上講,如果一台機器每秒產生10000000個GUID,則可以保證(概率意義上)3240年不重復。
UUID是1.5中新增的一個類,在java.util下,用它可以產生一個號稱全球唯一的ID。
import java.util.UUID;
public class Test {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println (uuid);
}
}

⑤ JS調用COM組件是什麼意思

在js下面直接將function傳給這個屬性,com組件裡面調用這個IDispatch的函數即可。
idl文件,注意onevent1這里。

[plain] view plain
import "oaidl.idl";
import "ocidl.idl";

[
object,
uuid(6A6140E8-9356-4FBD-B0FD-04508D336B17),
al,
nonextensible,
pointer_default(unique)
]
interface IComClassTest : IDispatch{
[id(1)] HRESULT Method1(BSTR arg1);
[propget, id(2), bindable, displaybind] HRESULT onevent1([out, retval] VARIANT* pVal);
[propput, id(2), bindable, displaybind] HRESULT onevent1([in] VARIANT newVal);
};
[
uuid(97157E1C-637C-4962-B069-96E70F572A99),
version(1.0),
]
library ATLProject3Lib

⑥ js中src這句話代表什麼意思啊

代表引入的js文件的路徑。
#uuid=<你注冊的分享 ID>&style=3&fs=3&textcolor=#fff&bgcolor=#F60&text=分享到..
這幾個都是傳遞的參數值,類似於函數裡面的入參。

微信小程序 怎麼用第三方js庫 jquery

方法一:rpn.js:使用rpn.js實現eval函數功能
操作鏈接:網頁鏈接

方法二:
(1)使用Underscore.js:操作鏈接:網頁鏈接

(2)使用Immutable.js:操作鏈接:網頁鏈接

(3)使用UUID、Base64、Chance:操作鏈接:網頁鏈接

擴展微信小程序框架功能(1)——Promise

ES6 對 Promise 有了原生的支持,但微信開發者工具更新版本(0.11.112200)後, 移除了開發者工具對 ES6 中Promise 特性原生的支持, 需要引入第三方的 Promise 庫。


擴展微信小程序框架功能(2)——Generator
Generator函數是ES6提供的一種非同步編程解決方案,語法行為與傳統函數完全不同。

擴展微信小程序框架功能(3)——函數功能增強
Underscore.js 和 Lodash 是最常用的JavaScript庫。

擴展微信小程序框架功能(4)——Immutable.js
Immutable.js 是 Facebook 開發的不可變數據集合。Immutable
Data(不可變數據)一旦創建就不能被修改。通過使用Immutable
Data,可以更容易的處理緩存、回退、數據變化檢測等問題,應用開發更簡單。

擴展微信小程序框架功能(5)——Rex
Rex 是 JavaScript 狀態容器,提供可預測化的狀態管理。

擴展微信小程序框架功能(6)—日期時間
Moment.js是一個JavaScript的日期、時間處理工具類,其對於JavaScript的日期時間處理功能非常強悍和全面。可以用在瀏覽器環境中使用,也可以在Node.js中。

擴展微信小程序框架功能(7)——正則表達式
XRegExp 是一個開源的 JavaScript庫,提供一個參數化、可擴展的支持各種瀏覽器的正則表達式的實現庫,支持附加語法、標志以及方法。

擴展微信小程序框架功能(8)——Xml處理
x2js是一個 實現 XML 與 JavaScript 對象之間相互轉換的工具庫。

擴展微信小程序框架功能(9)——加解密
node-uuid可以快速地生成符合規范 的 UUID。js-base64可以實現Base64編碼和解碼。crypto-js可以非常方便地在 JavaScript 進行加解密。

擴展微信小程序框架功能(10)——測試輔助
Chance是一個 JavaScript 隨機數生成工具。Mock.js可以生成隨機數據,攔截 Ajax 請求。

方法三:moment
操作鏈接:網頁鏈接

⑧ js如何生成唯一標識符UUID

可以用這個方法

functiongenerateUUID(){
vard=newDate().getTime(),
uuid='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function(c){
varr=(d+Math.random()*16)%16|0;
d=Math.floor(d/16);
return(c=='x'?r:(r&0x3|0x8)).toString(16);
});
returnuuid;
};
閱讀全文

與jsuuid函數相關的資料

熱點內容
win10ime 瀏覽:271
手機號大數據保護停機是什麼意思 瀏覽:81
兩個蘋果手機怎麼隔空投送app 瀏覽:903
ps修改有褶皺的文件 瀏覽:417
javadbfreader 瀏覽:307
蘋果手機數字代碼是什麼 瀏覽:66
驅動程序順序安裝腳本 瀏覽:665
word文件里怎樣查重 瀏覽:219
mx5系統基帶版本 瀏覽:184
ntlea全域通win10 瀏覽:171
qq怎麼查看別人的收藏 瀏覽:135
地震三參數matlab程序 瀏覽:57
怎樣給優盤文件加密軟體 瀏覽:7
收拾文件有哪些小妙招 瀏覽:431
pdf文件去底網 瀏覽:253
win10重裝系統需要格式化c盤嗎 瀏覽:424
路由器trx文件 瀏覽:655
淘寶店鋪數據包怎麼做 瀏覽:195
win10鍵盤黏連 瀏覽:332
json如何生成表格 瀏覽:323

友情鏈接