GUID转换成16位字符串或19位唯一字符串
整理几个经常使用GUID转换成16位字符串或19位唯一字符串方法:
/// <summary>
/// 依据GUID获取16位的唯一字符串
/// Author : 付义方
/// </summary>
/// <param name=\"guid\"></param>
/// <returns></returns>
public static string GuidTo16String()
{
long i = 1;
foreach (byte b in Guid.NewGuid().ToByteArray())
i *= ((int)b + 1);
return string.Format("{0:x}", i - DateTime.Now.Ticks);
}
/// <summary>
/// 依据GUID获取19位的唯一数字序列
/// Author : 付义方
/// </summary>
/// <returns></returns>
public static long GuidToLongID()
{
byte[] buffer = Guid.NewGuid().ToByteArray();
return BitConverter.ToInt64(buffer, 0);
}
/// <summary>
/// 生成22位唯一的数字 并发可用
/// Author : 付义方
/// </summary>
/// <returns></returns>
public static string GenerateUniqueID()
{
System.Threading.Thread.Sleep(1); //保证yyyyMMddHHmmssffff唯一
Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0));
string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999);
return strUnique;
}
/// <summary>
/// 生成22位唯一的数字 并发可用
/// Author : 付义方
/// </summary>
/// <returns></returns>
public static string GenerateUniqueID()
{
System.Threading.Thread.Sleep(1); //保证yyyyMMddHHmmssffff唯一
Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0));
string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999);
return strUnique;
}
希望以上分享对初学朋友有些帮助,谢谢。
很多其它关注付义方技术博客:http://blog.csdn.net/fuyifang
或者直接用手机扫描二维码查看很多其它博文:
GUID转换成16位字符串或19位唯一字符串的更多相关文章
- C# GUID转换成16位字符串或19位数字并确保唯一
/// <summary> /// 根据GUID获取16位的唯一字符串 /// </summary> /// <param name=\"guid\" ...
- GUID转换成16位字符串或19位数据(确保唯一)
// <summary> /// 根据GUID获取16位的唯一字符串 /// </summary> /// <param name=\"guid\"& ...
- Linux c字符串中不可打印字符转换成16进制
本文由 www.169it.com 搜集整理 如果一个C字符串中同时包含可打印和不可打印的字符,如果想将这个字符串写入文件,同时方便打开文件查看或者在控制台中打印出来不会出现乱码,那么可以将字符串中的 ...
- ip地址转换成16进制long
<span style="font-size:18px;">public class IpUtil { /** * ip地址转换成16进制long * @param i ...
- 运用C语言将图片转换成16进制的字符串(base64)
最近在写手机端的性能测试脚本的时候,发现手机在上传图片数据时,先将图片转换成一堆16进制的字符,将字符传输过去,服务器再将字符解码成图片 我们在loadrunner中测试时,就需要用C语言将图片编码. ...
- java中将汉字转换成16进制
技术交流群:233513714 /** * 将汉字转换车16进制字符串 * @param str * @return st */ public static String enUnicode(Stri ...
- C#把汉字转换成16进制(HEX)并向串口发送数据
报警器实例:(有发送,无返回获取) using System; using System.Collections.Generic; using System.Linq; using System.Te ...
- Replication--将LSN转换成16进制
在复制中经常会使用到16进制的LSN,但在日志fn_dblog中的LSN是数字形式,于是从网上找到以下转换函数CREATE FUNCTION dbo.fn_convertnumericlsntobin ...
- rgb值转换成16进制
由于jQuery获取css中的background有时候是rgb值,所以往往需要一个转换函数. 以前觉得难,还写个博客记录,现在觉得好容易. let testColor = "rgb(20, ...
随机推荐
- 计算机基础-day3
网络基础 什么是互联网协议? 互联网协议是计算机网络中为进行数据交换而建立的规则.标准或约定的集合,其定义了计算机如何接入internet,以及接入internet的计算机间通信的一系列统一标准, 为 ...
- URL获取并修改参数【转】
function changeURLPar(url, ref, value) { var str = ""; if (url.indexOf('?') != -1) str = u ...
- Spring 概念详解
一.Spring的IoC(Inversion of Control). 这是Spring中得有特点的一部份.IoC又被翻译成“控制反转”,也不知道是谁翻译得这么别扭,感觉很深奥的词.其实,原理很简单, ...
- BZOJ 4653 [Noi2016]区间(Two pointers+线段树)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4653 [题目大意] 在数轴上有n个闭区间 [l1,r1],[l2,r2],...,[l ...
- BZOJ 3437 小P的牧场(斜率优化DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3437 [题目大意] n个牧场排成一行,需要在某些牧场上面建立控制站, 每个牧场上只能建 ...
- 【二分】Codeforces Round #435 (Div. 2) D. Mahmoud and Ehab and the binary string
题意:交互题:存在一个至少有一个0和一个1的长度为n的二进制串,你可以进行最多15次询问,每次给出一个长度为n的二进制串,系统返回你此串和原串的海明距离(两串不同的位数).最后要你找到任意一个0的位置 ...
- 【扩展欧几里得】Codeforces Round #406 (Div. 2) A. The Monster
扩欧,a+bx=c+dx,输出x>=0且y>=0,且a+bx最小的解. 要注意不能只保证x非负,还得看看能否保证y也非负. #include<cstdio> #include& ...
- BUG:php7.1 访问yii数据库 自动加端口3306 报错
跟新完php7.1后访问yii项目出现下图错误 可见数据库链接是已经制指定了端口号9004 但是访问时后续自动加上了3306 原因:换了方式 //这种方式只支持5.6版本php 'db' => ...
- PHP5.3配置文件php.ini-development和php.ini-production的区别
PHP5.3版本中出现了php.ini-developmen和php.ini-production PHP配置文件与PHP5.2版本相比,命名发生了变化: php.ini-production 对应于 ...
- 如何ping测有端口的网站
参考:http://jingyan.baidu.com/article/c1a3101e878dcede656deb05.html 参考2:http://www.haoid.cn/post/261 现 ...