好記性不如爛筆頭啊,還是記錄一下!
不知道有沒有同學和我感覺一樣,系統(tǒng)生成的UUID在某些場景下覺得有點長,有點臃腫
UUID都是128位的長度:{1DAF9E46-26F6-4F52-BBA5-422FD0E09270}
怎么把他變短一些呢?
1. 去掉不必要的修飾符
通過去掉無意義的括號和減號來較少長度:
var uuid = Guid.NewGuid().ToString("N");
這樣字符串就成為1daf9e4626f64f52bba5422fd0e09270感覺還是蠻長的。
2. 使用Base64編碼來表示
前面的表示方法中,是使用的16機制來表示的,如果使用Base64編碼的話,則可以進一步壓縮字符串
var uuid = Convert.ToBase64String(guid.ToByteArray()).TrimEnd('=');
這樣字符串就成為Ivj6eZRx40+MTx2ZvnG8nA看起來稍微好一點了。
3. 進行轉(zhuǎn)換
long i = 1;
foreach (byte b in Guid.NewGuid().ToByteArray())
i *= ((int)b + 1);
var uuid = string.Format("{0:x}", i - DateTime.Now.Ticks);
這樣字符串就成為dfbf66216b6d506c看起來更短了一些,感覺舒服多了就先這么用著了。
以上說法只是我的個人理解,如有不對,歡迎留言指正。