2010-07-16 26 views
0

我需要編碼一些數據(文本),以便用戶可以通過電話輕鬆傳遞。
該文本包含隨機字符,通常不超過100個字符。例如:編碼數據,以便通過電話傳遞

「37-B,kA.sZ:Bb9--10.y <§」

我想這個文本編碼成多個人類可讀的形式,使得其可以很容易地通過電話傳遞。
Base36產生一個文本,可以很容易地通過電話傳遞,但我不知道如何正確編碼/解碼。
任何想法或替代?

(平臺是.NET 3.5 SP1)

回答

1

基地36個聽起來是個不錯的選擇(可以使用az和0-9的符號時,它是一個字符的最大空間,可通過電話輕鬆通過) 。我建議你讓輸出包含6或8個字符的塊,以便於閱讀。也;考慮最後添加校驗和,以便您可以驗證數據中沒有錯誤。

此編碼中的100個字符仍然不易於通過電話閱讀並且第一次正確。你有沒有考慮過另一種交付機制短信(SMS)?

Wikipedia上,有一個在Python中編碼Base36的例子 - 不應該太難轉換爲C#。

+0

這些例子總是將數字轉換爲Base36。然而,我不得不編碼一個字符串值(參見問題示例)。你知道任何指導方針如何做得最好,還是必須提出自己的解決方案?我可以將字符串轉換爲字節數組並對其進行編碼,但是這在解碼時會出現問題,因爲並非所有字符在數字表示中都具有相同的長度。 – Marc 2010-07-26 08:37:23