我正在尝试将.onion的网址(公钥信息或其他内容)转换为类似于人们使用的AACS标志的徽标。我认为这是一种分享deepweb链接的创造性方式,同时允许您验证链接的地址。
然而,当代码不起作用时,生活很糟糕。
这是现场小提琴: http://jsfiddle.net/whitingcameronlinux/th0jrx8h/4/
我需要的是一个转换,即使它们被转换为十六进制,也会保留js中的字符。我想要字符(并且parseInt toString技巧没有多大帮助)......
$("#click").click(function () {
// Grab url (k03rjptlbsi7dq3y.onion)
//var url = window.location.host;
// hopefully the same kind of data
var url = 'ko3rjptlbsi7dq3y.onion';
// remove .onion
var onlyurl = url.substr(0, 16);
// turn into hex
var hexresult = parseInt(onlyurl).toString();
// grab hex colors
var bar0 = "#" + hexresult.substring(0, 6);
var bar1 = "#" + hexresult.substring(5, 6);
var bar2 = "#" + hexresult.substring(11, 6);
var bar3 = "#" + hexresult.substring(17, 6);
var bar4 = "#" + hexresult.substring(23, 6);
// remainder goes here
var plus = "+" + hexresult.substring(29, 2);
//new elements:
$("#validate").append("<style id=\"validate\"> #bar0{background-color:" + $bar0 + "}#ba
r1{background-color:" + $bar1 + "}#bar2{background-color:" + $bar2 + "}#bar3{background-color:" + $bar3 + "}#bar4{background-color:" + $bar4 + "}</style>");
$("#bar4").html($plus);
});
如何转换它们以获取正确数量的信息?
(我知道他们首先与hex不兼容,这就是为什么我必须首先将ascii转换为十六进制)
答案 0 :(得分:0)
尝试这种简单而优雅的方式:
function ascii2hex(str){
var u=unescape(encodeURIComponent(str))
return u.split('').map(function(c){return c.charCodeAt(0).toString(16)}).join('')
}