2010-07-16 24 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