如何将base-256转换为base-N,其中N大于16?

问题描述:

我需要将字节数组转换为另一个基数,即85.在数学术语中,问题是如何以最有效的方式将base-256转换为base-85? What is the most efficient way to encode an arbitrary GUID into readable ASCII (33-127)?如何将base-256转换为base-N,其中N大于16?

谢谢 -

这个问题由我刚才的问题启发。

+0

您是否需要比从基本256转换为基本10再​​转换为基本85更有效率的东西,或者您是否正在寻找实现这一点的指针? – IVlad 2010-05-16 08:21:50

+0

指针已经足够好了。我想避免中间结果,比如base-10。 – mark 2010-05-16 11:25:46

+0

看起来我们做了同样的事情,只有我们的输入总是一个表示某个guid的字节数组,所以我们能够通过将两个表示guid的UInt64值编码为两个10字节的base-85字符串来优化解决方案。但除此之外,这是相同的代码。很高兴知道。 – mark 2010-05-16 11:33:34