我在我的應用程序中實現了序列鍵功能。用戶需要輸入至少64位數字才能註冊應用程序。因爲輸入數字如9,223,372,036,854,775,807將需要一段時間我想壓縮一下。第一個猜測是編碼這個數字十六進制,但它仍然很長(0x7FFF FFFF FFFF FFFF)。.NET - 數字的字母數字表示
在.NET中是否有任何標準方法使用字母數字來編碼此數字:例如數字,大寫和小寫字符?
我在我的應用程序中實現了序列鍵功能。用戶需要輸入至少64位數字才能註冊應用程序。因爲輸入數字如9,223,372,036,854,775,807將需要一段時間我想壓縮一下。第一個猜測是編碼這個數字十六進制,但它仍然很長(0x7FFF FFFF FFFF FFFF)。.NET - 數字的字母數字表示
在.NET中是否有任何標準方法使用字母數字來編碼此數字:例如數字,大寫和小寫字符?
Base 64可能是你想要的。它允許所有的大寫和小寫字符以及兩個符號字符(+和/)
Convert.ToBase64String會將數字轉換爲字符串。
Convert.FromBase64String將字符串轉換回數字。
或者,如果你只想使用大寫字母(和數字2-7),那麼你可以使用Base32,但是在.net中沒有原生的實現。一些更多的信息在這裏:Base32 Decoding
它回答了我的問題。謝謝! – kmalmur 2010-06-05 10:59:33
我不知道答案,但我建議你必須小心限制你使用的字符,我可以看到許多用戶在閱讀時遇到問題,如果它可以是任何'I','l'和'1'等 – 2010-06-05 10:42:41
使其區分大小寫也可能是一個壞主意。 – Joren 2010-06-05 10:49:26
我將使用base 32來避免這些問題。 – kmalmur 2010-06-05 11:39:54