生成較短的UUID

好記性不如爛筆頭啊,還是記錄一下!


不知道有沒有同學和我感覺一樣,系統(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看起來更短了一些,感覺舒服多了就先這么用著了。


以上說法只是我的個人理解,如有不對,歡迎留言指正。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,626評論 1 32
  • 在軟件的編碼和實現(xiàn)中,我們可能會碰到個一個比較頭疼的問題--編碼,不同字符間的編碼和解碼,你確定了解各種字符的編碼...
    Java小鋪閱讀 2,623評論 0 5
  • ??引用類型的值(對象)是引用類型的一個實例。 ??在 ECMAscript 中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)...
    霜天曉閱讀 1,218評論 0 1
  • 一年終事了, 我心輕巧巧。 此聚一別后, 來日怎敢料。
    夢吟九洲閱讀 230評論 0 0
  • “你都30歲了,你怎么還沒有結(jié)婚,你起碼談個戀愛啊” “爸,你怎么看不結(jié)婚這個想法?”我問。“EMM~不...
    洛夕_閱讀 476評論 0 1

友情鏈接更多精彩內(nèi)容