【发布时间】:2012-06-28 16:39:56
【问题描述】:
我正在处理 ID 为 8DnKOc6FISU、rNsrl86inpo、5qcmCUsw4EQ 的 Youtube 视频(即 A-Za-z0-9_- 集中的 11 个字符)
目标是将每个 id 转换为颜色(由范围 0-1 表示),以便可以可靠地绘制图表。
根据this question,这些是 64 位数字。鉴于:
- 我想充分利用任何给定视频集的色彩空间
- 反正颜色感知不是那么准确
...以 id 的最后 2-3 个字符为基础似乎是明智的。
我的主要方法是我从here 借来的一个函数,它将每个字符转换为二进制数,如下所示:
function toBin(str){
var st,i,j,d;
var arr = [];
var len = str.length;
for (i = 1; i<=len; i++){
d = str.charCodeAt(len-i);
for (j = 0; j < 8; j++) {
st = d%2 == '0' ? "class='zero'" : ""
arr.push(d%2);
d = Math.floor(d/2);
}
}
}
但这留下了如何将其转换回浮点数的问题。
对于优雅的解决方案有什么想法吗?
非常感谢您的帮助!
【问题讨论】:
标签: javascript