我有一个巨大的十六进制编码的 MD5 值文件,我正在使用 linux 'sort' 实用程序进行排序。结果是哈希按顺序出现(这是我下一阶段处理所需要的)。例如:
000001C35AE83CEFE245D255FFC4CE11
000003E4B110FE637E0B4172B386ACAC
000004AAD0EB3D896B654A960B0111FA
为了加快排序操作(并使文件更小),我正在考虑将数据编码为 base32 或 base64。
问题是,base32/64 数据的 alpha 排序会得到相同的结果吗?我的快速测试似乎表明它会起作用。例如,上面三个十六进制字符串与这些 base64 字符串 1:1 对应:
AAABw1roPO/iRdJV/8TOEQ==
AAAD5LEQ/mN+C0Fys4asrA==
AAAEqtDrPYlrZUqWCwER+g==
但我不确定 Base64 中使用的特殊字符(如“/”和“+”)的排序顺序,以及在 alpha 排序的上下文中如何处理这些字符。
注意:我碰巧正在使用 linux 排序实用程序,但这个问题仍然适用于其他 alpha 排序工具。使用的工具并不是问题的一部分。