Bar*_*ift 4 sorting base64 encoding
假设我有一个按字母顺序排列的 100 个单词的列表。如果我对这些单词进行 base64 编码,然后再次对结果列表进行排序,如果元素相同,顺序是否相同?
如果没有,是否还有其他编码算法可以为我提供这种行为?
Ale*_*son 10
不,base64 不保留未编码字符串的排序顺序。
RFC 4648 中对此进行了解释,它还定义了一种名为 base32hex 的编码,它特别保证它保持排序顺序。
如果您想坚持使用官方标准,base32hex 是我所知的最佳选择。
不过,如果编码的空间效率很重要,那么从 Base64 降到 Base32 就有点令人失望了。如果是这种情况,您始终可以创建自己的编码(这并不那么难)或采用其他人的编码(JavaScript 示例: https: //github.com/dominictarr/d64)。