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 在有些场合很方便, 比如页面图片缓存等。
分享到:
相关推荐
`hashCode()`方法返回字符串的哈希值,用于散列存储。`compareTo()`方法按照字典顺序比较字符串,`clone()`创建字符串的副本。 9. **国际化** `java.text`包提供了`Format`类族,支持日期、数字、货币等的本地化...
string-hash获取字符串的哈希值使用非加密哈希函数FNV-1a。 与Java的String#hashCode()类似。 安装$ npm install @ sindresorhus / string-hash用法const stringHash string-hash获取字符串的哈希值使用非加密...
例如,有两个只包含两个字符的字符串,它们的字符可能不同,但由于ASCII码的关系,它们的`hashCode()` 可能相同。ASCII码是一种7位二进制编码,用于表示128个不同的字符。例如,'A'和'a'的ASCII值相差32,但它们的...
根据文件中的描述,可以通过模拟Java的hashCode计算过程,使用JavaScript的字符串charCodeAt方法来获取字符串每个字符的ASCII值,并且采用同样的计算方式来生成哈希码。 3. **JavaScript整数溢出问题**:文件中提到...
- `hashCode()`: 返回字符串的哈希值,可用于散列存储。 15. **拷贝字符串** - `clone()`: 创建字符串的一个副本。 16. **获取字符串编码** - `getBytes()`: 获取字符串的字节数组,使用平台默认编码。 - `...
例如,在 String 类中,hashCode 方法的实现是根据字符串的字符序列来计算哈希码。 public int hashCode() { int h = hash; if (h == 0 && value.length > 0) { char val[] = value; for (int i = 0; i ; i++) ...
3. **字符串比较**:介绍equals()、compareTo()和hashCode()等方法的使用,以及字符串的相等性和排序规则。 4. **字符串与字符数组**:阐述字符串与char数组之间的转换,以及它们在内存中的表示。 5. **字符串常量池...
2. 动态调用方法:反射允许我们在运行时根据字符串或其他条件来决定调用哪个方法。这对于处理未知的或动态生成的方法名非常有用。`Class.getMethod()`和`Class.getDeclaredMethod()`方法可以用来获取所需的方法,...
这个示例代码使用了递归算法来生成所有可能的字符串,然后测试这些字符串的 Hash Code 是否重复。结果表明,在 A-z 范围内,仅仅 3 位长度的字符串就有 138510 次重复。 那么,如何避免 Hash Code 重复的问题?有...
字符串哈希码 字符串的其他实用程序。安装npm install string-...原料药hashCode(str)参数: str:字符串对象返回: 编号:哈希码返回字符串的哈希码。 请注意,哈希码对于特定字符串是不可变的。执照麻省理工学院
如果我们定义两个字符串 s1 和 s2,並将它们赋值为 "abc",然后使用 equals 方法比较它们,结果当然是 true。 最后,hashcode 方法是一个对象的散列码,它是用来唯一标识一个对象的。hashcode 方法可以将一个对象...
在JVM中,字符串类型的switch语句的处理可以分为三步:第一步,将字符串类型转换为hashCode;第二步,使用hashCode进行比较;第三步,如果hashCode相同,则使用equals方法对比字符串的值。 在JVM中,hashCode的计算...
标题中的“实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能”涉及到的是在软件开发过程中常用的几个技术点,主要集中在Java后端和前端Vue.js的应用上。这里我们将详细探讨这些知识点: 1. **Java实体...
3. 在`toString()`方法中,构建一个包含所有或部分属性值的字符串,方便在控制台输出或日志中查看`DBObject`的状态。 了解并正确实现这三个方法对于提升代码质量和维护性非常重要。特别是在处理集合、映射等数据...
在Java编程语言中,字符串处理是一项至关重要的任务,因为字符串在各种应用场景中广泛使用,如数据解析、用户输入验证、文件处理等。`StringManipulation`这个项目显然专注于研究和实现Java中的字符串处理算法。下面...
`StringTokenizer`类用于分隔字符串,根据特定分隔符将字符串拆分为多个部分,常用于简单的文本解析。 现在我们转向正则表达式。正则表达式(Regular Expression)是一种强大的文本匹配模式,用于查找、替换或提取...
您可以使用它从Json字符串创建数据类"这一主题,以及与之相关的知识点。 首先,我们需要了解什么是IntelliJ IDEA。IntelliJ IDEA是一款由JetBrains公司开发的集成开发环境(IDE),广泛用于Java、Kotlin等语言的...
Java可以根据字符串的hashCode找到对应的entry,如果没有冲突,它可能只是一个entry,如果有冲突,它可能是一个entry链表,然后Java再遍历entry链表,匹配引用对应的字符串,如果找得到字符串,返回引用,如果找不到...
hashCode方法的实现方式有多种,String类的hashCode方法就是一个典型的例子,它使用数学表达式s[0]*31^(n-1) + s[1]*31^(n-2) + … + s[n-1]来计算hashCode值,其中s[i]是字符串的第i个字符,n是字符串的长度。...