字符串转整型

lenovore 2013-06-13 11:43:52
字符串可能是汉字、字母、数字,特殊字符等任意组合,长度也不确定,但是唯一确定的是每个字符串都是唯一的。有什么办法可以将这个字符串转换成唯一的整型Int32。
比如:【你好123-h m】 和【好你123-h m】转换成唯一的整型。
这个是不是可以考虑从每个字符的顺序不一致上来考虑做法?
...全文
156 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheng2005 2013-06-13
  • 打赏
  • 举报
回复
用有限集去映射无限集,这本身就无解。
lenovore 2013-06-13
  • 打赏
  • 举报
回复
所有字符串都压缩成唯一整型是绝对不可能的,只不过我这边的字符串个数用整型存足够了,而且要求的必须是整型
lenovore 2013-06-13
  • 打赏
  • 举报
回复
10L所说的事实上就是自增ID的意思 这边不考虑这个
moonwrite 2013-06-13
  • 打赏
  • 举报
回复
长度不定, 我一开始想把每个字符都转成byte,然后每个byte转成int 但总怕 int就无能为力了~ 如果有一种算法可以把字符串压缩成整形的,那就不错~ 一个字符串对应一个int,但要解决可程序停止的时候,记录在那里的问题 Dic<string,int>
xky96 2013-06-13
  • 打赏
  • 举报
回复
存入哈希表,字符串作为key,value从0累加 找不到的key,就加入
lenovore 2013-06-13
  • 打赏
  • 举报
回复
唉 午饭时间了 希望有大神可以帮忙解决下
lenovore 2013-06-13
  • 打赏
  • 举报
回复
规则就是将字符串生成唯一整型 其他没有了
lenovore 2013-06-13
  • 打赏
  • 举报
回复
所以我才想着有没有其他着手比如字符串中每个字符的位置等,将每个字符串中的字符转换成数字相加按上面写的会重复
lenovore 2013-06-13
  • 打赏
  • 举报
回复
这边的需求比较特殊 自增ID就不考虑了
lenovore 2013-06-13
  • 打赏
  • 举报
回复
字符串的长度不一定,所以有可能Int64都不够用,但是我就是需要转成Int32
  • 打赏
  • 举报
回复
你可以保存入库,自增ID的方式解决 或者不要转换,而是为每个字符串生成一个唯一的数字
private long GenerateIntID()

        {

            byte[] buffer = Guid.NewGuid().ToByteArray();

            return BitConverter.ToInt64(buffer, 0);

        }
bdmh 2013-06-13
  • 打赏
  • 举报
回复
你自己都不知道怎么个规则,你问谁啊,【你好123-h m】要转1还是2还是3啊

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧