整理几个经常使用GUID转换成16位字符串或19位唯一字符串方法:

  1. /// <summary>
  2. /// 依据GUID获取16位的唯一字符串
  3. /// Author : 付义方
  4. /// </summary>
  5. /// <param name=\"guid\"></param>
  6. /// <returns></returns>
  7. public static string GuidTo16String()
  8. {
  9. long i = 1;
  10. foreach (byte b in Guid.NewGuid().ToByteArray())
  11. i *= ((int)b + 1);
  12. return string.Format("{0:x}", i - DateTime.Now.Ticks);
  13. }
  14. /// <summary>
  15. /// 依据GUID获取19位的唯一数字序列
  16. /// Author : 付义方
  17. /// </summary>
  18. /// <returns></returns>
  19. public static long GuidToLongID()
  20. {
  21. byte[] buffer = Guid.NewGuid().ToByteArray();
  22. return BitConverter.ToInt64(buffer, 0);
  23. }
  24. /// <summary>
  25. /// 生成22位唯一的数字 并发可用
  26. /// Author : 付义方
  27. /// </summary>
  28. /// <returns></returns>
  29. public static string GenerateUniqueID()
  30. {
  31. System.Threading.Thread.Sleep(1); //保证yyyyMMddHHmmssffff唯一
  32. Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0));
  33. string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999);
  34. return strUnique;
  35. }
  36. /// <summary>
  37. /// 生成22位唯一的数字 并发可用
  38. /// Author : 付义方
  39. /// </summary>
  40. /// <returns></returns>
  41. public static string GenerateUniqueID()
  42. {
  43. System.Threading.Thread.Sleep(1); //保证yyyyMMddHHmmssffff唯一
  44. Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0));
  45. string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999);
  46. return strUnique;
  47. }

希望以上分享对初学朋友有些帮助,谢谢。

很多其它关注付义方技术博客:http://blog.csdn.net/fuyifang

或者直接用手机扫描二维码查看很多其它博文:

GUID转换成16位字符串或19位唯一字符串的更多相关文章

  1. C# GUID转换成16位字符串或19位数字并确保唯一

    /// <summary> /// 根据GUID获取16位的唯一字符串 /// </summary> /// <param name=\"guid\" ...

  2. GUID转换成16位字符串或19位数据(确保唯一)

    // <summary> /// 根据GUID获取16位的唯一字符串 /// </summary> /// <param name=\"guid\"& ...

  3. Linux c字符串中不可打印字符转换成16进制

    本文由 www.169it.com 搜集整理 如果一个C字符串中同时包含可打印和不可打印的字符,如果想将这个字符串写入文件,同时方便打开文件查看或者在控制台中打印出来不会出现乱码,那么可以将字符串中的 ...

  4. ip地址转换成16进制long

    <span style="font-size:18px;">public class IpUtil { /** * ip地址转换成16进制long * @param i ...

  5. 运用C语言将图片转换成16进制的字符串(base64)

    最近在写手机端的性能测试脚本的时候,发现手机在上传图片数据时,先将图片转换成一堆16进制的字符,将字符传输过去,服务器再将字符解码成图片 我们在loadrunner中测试时,就需要用C语言将图片编码. ...

  6. java中将汉字转换成16进制

    技术交流群:233513714 /** * 将汉字转换车16进制字符串 * @param str * @return st */ public static String enUnicode(Stri ...

  7. C#把汉字转换成16进制(HEX)并向串口发送数据

    报警器实例:(有发送,无返回获取) using System; using System.Collections.Generic; using System.Linq; using System.Te ...

  8. Replication--将LSN转换成16进制

    在复制中经常会使用到16进制的LSN,但在日志fn_dblog中的LSN是数字形式,于是从网上找到以下转换函数CREATE FUNCTION dbo.fn_convertnumericlsntobin ...

  9. rgb值转换成16进制

    由于jQuery获取css中的background有时候是rgb值,所以往往需要一个转换函数. 以前觉得难,还写个博客记录,现在觉得好容易. let testColor = "rgb(20, ...

随机推荐

  1. 计算机基础-day3

    网络基础 什么是互联网协议? 互联网协议是计算机网络中为进行数据交换而建立的规则.标准或约定的集合,其定义了计算机如何接入internet,以及接入internet的计算机间通信的一系列统一标准, 为 ...

  2. URL获取并修改参数【转】

    function changeURLPar(url, ref, value) { var str = ""; if (url.indexOf('?') != -1) str = u ...

  3. Spring 概念详解

    一.Spring的IoC(Inversion of Control). 这是Spring中得有特点的一部份.IoC又被翻译成“控制反转”,也不知道是谁翻译得这么别扭,感觉很深奥的词.其实,原理很简单, ...

  4. BZOJ 4653 [Noi2016]区间(Two pointers+线段树)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4653 [题目大意] 在数轴上有n个闭区间 [l1,r1],[l2,r2],...,[l ...

  5. BZOJ 3437 小P的牧场(斜率优化DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3437 [题目大意] n个牧场排成一行,需要在某些牧场上面建立控制站, 每个牧场上只能建 ...

  6. 【二分】Codeforces Round #435 (Div. 2) D. Mahmoud and Ehab and the binary string

    题意:交互题:存在一个至少有一个0和一个1的长度为n的二进制串,你可以进行最多15次询问,每次给出一个长度为n的二进制串,系统返回你此串和原串的海明距离(两串不同的位数).最后要你找到任意一个0的位置 ...

  7. 【扩展欧几里得】Codeforces Round #406 (Div. 2) A. The Monster

    扩欧,a+bx=c+dx,输出x>=0且y>=0,且a+bx最小的解. 要注意不能只保证x非负,还得看看能否保证y也非负. #include<cstdio> #include& ...

  8. BUG:php7.1 访问yii数据库 自动加端口3306 报错

    跟新完php7.1后访问yii项目出现下图错误 可见数据库链接是已经制指定了端口号9004 但是访问时后续自动加上了3306 原因:换了方式 //这种方式只支持5.6版本php 'db' => ...

  9. PHP5.3配置文件php.ini-development和php.ini-production的区别

    PHP5.3版本中出现了php.ini-developmen和php.ini-production PHP配置文件与PHP5.2版本相比,命名发生了变化: php.ini-production 对应于 ...

  10. 如何ping测有端口的网站

    参考:http://jingyan.baidu.com/article/c1a3101e878dcede656deb05.html 参考2:http://www.haoid.cn/post/261 现 ...