在Javascript中将字符串转换为一系列数字的好方法(我不是在谈论将"0.5"
转换为0.5
,而是将"Hello"
转换为{{{ 1}})?
任何想法都赞赏。
谢谢!
答案 0 :(得分:2)
您可以使用每个字母的ASCII值:
"a letter".charCodeAt(0);
答案 1 :(得分:0)
好的,鉴于您的意见,这是一个(未经过广泛测试的)解决方案。
var str = "κόσμε 这是一条狗 é €";
$('#orig').after('<dd>' + str + '</dd>');
var result = "";
for (var i = 0, len = str.length, code, paddedCode; i < len; ++i) {
code = str[i].charCodeAt(0).toString();
paddedCode = code.length >= 8
? code
: new Array(8 - code.length + 1).join(0) + code; result += paddedCode;
result += paddedCode;
}
$('#nums').after('<dd>' + result + '</dd>');
var segments = result.match(/.{8}/g);
$.each(segments, function(k, v) {
$('#nums-segmented').after('<dd>' + v + '</dd>');
});
revertedString = '';
for (var i = 0, len = segments.length; i < len; i=i+2) {
revertedString += String.fromCharCode((segments[i] | 0));
}
$('#string').after('<dd>' + revertedString + '</dd>');
运行它
技巧是填充数字并在需要时将它们作为字符串使用。