如何在Javascript中将字符串转换为一系列数字?

时间:2013-04-18 20:51:16

标签: javascript

在Javascript中将字符串转换为一系列数字的好方法(我不是在谈论将"0.5"转换为0.5,而是将"Hello"转换为{{{ 1}})?

任何想法都赞赏。

谢谢!

2 个答案:

答案 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>');

JSFiddle

运行它

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