JavaScript:在单个数字中转换不同的值
JavaScript: Convert different Values in a single Number
我有以下三个值:
- 周(数字在 1 到 52 之间)
- 年份(0 到 99 之间的数字)
- 字符串(在"aa"和"zz"之间)
有没有办法将其转换("打包")为 0 到 999999 之间的数字?还是对于 6 位数字来说,这是太多的信息?
目标是(稍后)将数字解压缩/转换回我的 3 个值。
谢谢!
这不是最高的数字,但很容易编码,解码:52992626如果你明白我的意思......(WWYYAAZZ)
您可以轻松地将所需的所有数据编码为 8 位数字。(您可以用更少的时间完成此操作,但解码以下内容将很容易。
- 第一对数字:1 到 26 对应于"a"到"z"
- 第二对数字:同上
- 第三对数字:0 到 99 表示年份
- 第四对数字:1 到 52 表示一周
当然,如果有帮助,可以更改顺序(例如排序)。您可以按如下方式构建它:
public int encode(int week, int year, String letters) {
int result = letters.charAt(0) - 'a' + 1;
result = 100 * result + letters.charAt(1) - 'a' + 1;
result = 100 * result + year;
result = 100 * result + week;
return result;
}
它可以解码如下:
public void decode(int encoded) {
int week = encoded % 100;
encoded /= 100;
int year = encoded % 100;
encoded /= 100;
StringBuilder sb = new StringBuilder();
sb.append((char) encoded / 100 + 'a' - 1);
sb.append((char) (encoded % 100) + 'a' - 1);
String letters = sb.toString();
// do something with week, year, and letters
}
所有这些都可以在位级别完成,这将导致更快的执行,但不是人类可读的。
相关文章:
- 我想在Iframe Javascript PHP的帮助下,将单个ajax上传器脚本转换为多个上传器
- 在javascript(Angularjs)中将对象数组转换为单个对象
- SVG-精灵:符号转换为单个SVG图标
- 将多个数组转换为单个 JSON
- 如何将对象数组转换为单个 JSON 文档/对象
- 将数据格式从单个对象转换为键值对的对象数组
- 将参数转换为数组,但无法访问单个索引
- 我可以将许多 rss 源转换为单个 JSON 文件吗?
- JavaScript:在单个数字中转换不同的值
- 如何将 JSON 数组转换为单个 JSON 字符串
- 如何使用 Jangaroo 将单个 As3 函数转换为 javascript
- 将一个电话号码数组转换为单个号码,然后用javascript比较这些号码
- 如何在angularjs中将单个对象转换为多个数组
- 带有单个字符串的数组会自动且不希望地转换为一个字符串
- 需要协助将jquery单个函数转换为具有多个函数的对象实例
- 在jQuery中将年、月和日转换为单个日期
- 将新行转换为段落/br HTML 标签,这可以是单个正则表达式吗?
- Lodash将对象数组转换为单个键数组和多个值数组
- 如何防止IE将文本区换行符转换为单个空格
- 用多个XSLT文件转换单个XML文件