当前位置:  开发笔记 > 开发工具 > 正文

将路径名转换为唯一编号的算法

如何解决《将路径名转换为唯一编号的算法》经验,为你挑选了2个好方法。

我想将Windows路径名转换为唯一整数.

例如:

对于路径名C:\ temp\a.out,如果我添加所有字符的ascii值,我得到1234.但是其他一些路径也可以生成相同的数字.那么,为不同的路径名生成唯一数字的最佳方法是什么?



1> strager..:

查看Hash函数.执行哈希时,请务必考虑大多数Windows文件名的不区分大小写的特性.

最有可能的是,您使用的语言提供了一个库函数(或函数集合),它可以获取字符串(或只是数据)的哈希值. SHA1很受欢迎,碰撞很少.

在Stackoverflow上有很多与哈希函数有关的问题.为了帮助您入门,只需搜索" 哈希函数 "即可.对于您的情况,这可能是一个有用的SO问题:什么是高性能字符串散列函数,导致32位整数具有低冲突率?.



2> Jimmy..:

有更多可能的路径名而不是整数,因此你不能拥有真正的唯一性.你可以解决类似MD5哈希的问题.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有