1. 程式人生 > >GUID轉換字串的幾種形式

GUID轉換字串的幾種形式

一、GUID轉換成16位16進位制字串

/// <summary>
/// 根據GUID獲取16位的唯一16進位制字串
/// </summary>
/// <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);
}

二、GUID.ToString()方法

public string ToString(
    string format
)

引數
format
Type: System.String
一個單格式說明符,它指示如何格式化此 Guid 的值。 format 引數可以是“N”、“D”、“B”、“P”或“X”。 如果 format 為 null 或空字串 (“”),則使用“D”。

返回值
Type: System.String
此 Guid 的值,用一系列指定格式的小寫十六進位制位表示。

N

32 位數字︰
00000000000000000000000000000000

D

連字元分隔的 32 位數字︰
00000000-0000-0000-0000-000000000000

B

由連字元,括在大括號分隔的 32 位數字︰
{00000000-0000-0000-0000-000000000000}

P

由括在括號中的連字元分隔的 32 位數字︰
(00000000-0000-0000-0000-000000000000)

X

四個十六進位制值括在大括號,其中第四個值是也括在大括號的八個十六進位制值的子集︰
{0x00000000、 0x0000、 0x0000,{0x00、 0x00 的、 0x00、 0x00 的、 0x00、 0x00 的、 0x00 的、 0x00}}
eg:
{0xacd36603,0x670f,0x49a0,{0x90,0x37,0xa1,0x0d,0x60,0xe0,0xc8,0xc3}}

十六進位制數字 a 到 f 為小寫返回字串中。 若要將其轉換為大寫,呼叫String.ToUpper方法返回的字串。

異常:
FormatException 
format 的值不是 null、空字串 (""
)、“N”、“D”、“B”、“P”或“X”。

節選自:msdn