导航:首页 > 编程语言 > 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函数相关的资料

热点内容
最近很火的app软件是什么软件 浏览:862
ai文字工具 浏览:157
兰博玩游戏路径怎么选择正确文件 浏览:972
淘宝直通车恢复老版本 浏览:510
播放草莓的图片我都文件 浏览:55
微信大文件打不开 浏览:767
家装合同准备哪些文件 浏览:296
应用bat合并excel文件 浏览:984
迅雷影音文件夹 浏览:109
makefile的文件路径 浏览:392
计算机程序文件名扩展名为 浏览:982
网络游戏推广策划案 浏览:609
替换所有文件内容的代码 浏览:960
不是常用数据模型有哪些 浏览:426
aspcms版本号 浏览:835
安卓怎么用数据流量下载软件 浏览:553
大众手动空调数据流通道号是多少 浏览:303
手机qq令牌 浏览:737
cg原画上色教程 浏览:993
婚介服务中心app怎么做 浏览:43

友情链接