-1

在Javascript中将字符串转换为一系列数字的好方法是什么(我不是在谈论转换"0.5"0.5,而是更多"Hello"地转换为47392048)?

任何想法表示赞赏。

谢谢!

4

2 回答 2

2

您可以使用每个字母的 ASCII 值:

"a letter".charCodeAt(0);
于 2013-04-18T20:54:53.793 回答
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>');

在JSFiddle上运行它

诀窍是填充数字并在需要时将它们作为字符串使用。

于 2013-04-19T16:33:38.397 回答