`
chenpeilei2003
  • 浏览: 191895 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

字符串转hashcode

    博客分类:
  • Lua
阅读更多
function hashConvert(v,ext)
	local ch = 0
	local val = 0
	
	if(v) then
		for i=1,#v do
			ch = v:byte(i)
			if( ch >= 65 and ch <= 90 ) then
				ch = ch + 32
			end
			val = val*0.7 + ch  --0.7是加权
		end
	end
	val = val .. ''
	val = val:gsub("+","")
	val = val:gsub("%.","")
	

	if(ext)then
		return string.format('%s.%s',val,ext)
	else
		return string.format('%s',val)
	end
end

--test

print(hashConvert('http://192.168.1.131:8080/sns/head.jsp?id=3&width=40&height=40&type=jpeg','gif'))
print(hashConvert('http://192.168.1.131:8080/sns/head.jsp?id=5&width=40&height=40&type=jpeg','gif'))

--output
33444727508723.gif
33444733948534.gif


使用string 2 hashcode 在有些场合很方便, 比如页面图片缓存等。
分享到:
评论

相关推荐

    Java第6章 字符串 含源代码

    `hashCode()`方法返回字符串的哈希值,用于散列存储。`compareTo()`方法按照字典顺序比较字符串,`clone()`创建字符串的副本。 9. **国际化** `java.text`包提供了`Format`类族,支持日期、数字、货币等的本地化...

    获取字符串的哈希-JavaScript开发

    string-hash获取字符串的哈希值使用非加密哈希函数FNV-1a。 与Java的String#hashCode()类似。 安装$ npm install @ sindresorhus / string-hash用法const stringHash string-hash获取字符串的哈希值使用非加密...

    HashCode相同equals不同的2位字符集合算法

    例如,有两个只包含两个字符的字符串,它们的字符可能不同,但由于ASCII码的关系,它们的`hashCode()` 可能相同。ASCII码是一种7位二进制编码,用于表示128个不同的字符。例如,'A'和'a'的ASCII值相差32,但它们的...

    javascript中实现兼容JAVA的hashCode算法代码分享

    根据文件中的描述,可以通过模拟Java的hashCode计算过程,使用JavaScript的字符串charCodeAt方法来获取字符串每个字符的ASCII值,并且采用同样的计算方式来生成哈希码。 3. **JavaScript整数溢出问题**:文件中提到...

    java常用字符串方法网络收集txt版

    - `hashCode()`: 返回字符串的哈希值,可用于散列存储。 15. **拷贝字符串** - `clone()`: 创建字符串的一个副本。 16. **获取字符串编码** - `getBytes()`: 获取字符串的字节数组,使用平台默认编码。 - `...

    equals与hashCode方法讲解

    例如,在 String 类中,hashCode 方法的实现是根据字符串的字符序列来计算哈希码。 public int hashCode() { int h = hash; if (h == 0 && value.length &gt; 0) { char val[] = value; for (int i = 0; i ; i++) ...

    浅谈Java字符串Java开发Java经验技巧共11页.p

    3. **字符串比较**:介绍equals()、compareTo()和hashCode()等方法的使用,以及字符串的相等性和排序规则。 4. **字符串与字符数组**:阐述字符串与char数组之间的转换,以及它们在内存中的表示。 5. **字符串常量池...

    利用反射绕过编译器和hashcode高级应用

    2. 动态调用方法:反射允许我们在运行时根据字符串或其他条件来决定调用哪个方法。这对于处理未知的或动态生成的方法名非常有用。`Class.getMethod()`和`Class.getDeclaredMethod()`方法可以用来获取所需的方法,...

    java 中HashCode重复的可能性

    这个示例代码使用了递归算法来生成所有可能的字符串,然后测试这些字符串的 Hash Code 是否重复。结果表明,在 A-z 范围内,仅仅 3 位长度的字符串就有 138510 次重复。 那么,如何避免 Hash Code 重复的问题?有...

    string-hashcode:java.lang.String.hashCode

    字符串哈希码 字符串的其他实用程序。安装npm install string-...原料药hashCode(str)参数: str:字符串对象返回: 编号:哈希码返回字符串的哈希码。 请注意,哈希码对于特定字符串是不可变的。执照麻省理工学院

    Java中equals,hashcode和==的区别

    如果我们定义两个字符串 s1 和 s2,並将它们赋值为 "abc",然后使用 equals 方法比较它们,结果当然是 true。 最后,hashcode 方法是一个对象的散列码,它是用来唯一标识一个对象的。hashcode 方法可以将一个对象...

    JAVA字符串类型switch的底层原理详析

    在JVM中,字符串类型的switch语句的处理可以分为三步:第一步,将字符串类型转换为hashCode;第二步,使用hashCode进行比较;第三步,如果hashCode相同,则使用equals方法对比字符串的值。 在JVM中,hashCode的计算...

    实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能

    标题中的“实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能”涉及到的是在软件开发过程中常用的几个技术点,主要集中在Java后端和前端Vue.js的应用上。这里我们将详细探讨这些知识点: 1. **Java实体...

    equals,hashcode,toString

    3. 在`toString()`方法中,构建一个包含所有或部分属性值的字符串,方便在控制台输出或日志中查看`DBObject`的状态。 了解并正确实现这三个方法对于提升代码质量和维护性非常重要。特别是在处理集合、映射等数据...

    StringManipulation:Java中的字符串处理算法

    在Java编程语言中,字符串处理是一项至关重要的任务,因为字符串在各种应用场景中广泛使用,如数据解析、用户输入验证、文件处理等。`StringManipulation`这个项目显然专注于研究和实现Java中的字符串处理算法。下面...

    字符串正则表达式PPT

    `StringTokenizer`类用于分隔字符串,根据特定分隔符将字符串拆分为多个部分,常用于简单的文本解析。 现在我们转向正则表达式。正则表达式(Regular Expression)是一种强大的文本匹配模式,用于查找、替换或提取...

    Android-这是Kotlin的IntelliJ插件。您可以使用它从Json字符串创建数据类

    您可以使用它从Json字符串创建数据类"这一主题,以及与之相关的知识点。 首先,我们需要了解什么是IntelliJ IDEA。IntelliJ IDEA是一款由JetBrains公司开发的集成开发环境(IDE),广泛用于Java、Kotlin等语言的...

    string常量池和intern_韩雅茹Java系列2021.pdf

    Java可以根据字符串的hashCode找到对应的entry,如果没有冲突,它可能只是一个entry,如果有冲突,它可能是一个entry链表,然后Java再遍历entry链表,匹配引用对应的字符串,如果找得到字符串,返回引用,如果找不到...

    深入理解Java中HashCode方法

    hashCode方法的实现方式有多种,String类的hashCode方法就是一个典型的例子,它使用数学表达式s[0]*31^(n-1) + s[1]*31^(n-2) + … + s[n-1]来计算hashCode值,其中s[i]是字符串的第i个字符,n是字符串的长度。...

Global site tag (gtag.js) - Google Analytics