Javascript 包含所有ascii字符的字符串

Javascript 包含所有ascii字符的字符串,javascript,string,ascii,Javascript,String,Ascii,我想在JavaScript中创建一个包含所有ascii字符的字符串。我该怎么做呢?我的javascript有点生锈了,但有点像这样: s = ''; for( var i = 32; i <= 126; i++ ) { s += String.fromCharCode( i ); } s=”; 对于(var i=32;i只需循环字符代码并将每个代码转换为一个字符: var s = ''; for (var i=32; i<=127;i++) s += String.from

我想在JavaScript中创建一个包含所有ascii字符的字符串。我该怎么做呢?

我的javascript有点生锈了,但有点像这样:

s = '';
for( var i = 32; i <= 126; i++ )
{
    s += String.fromCharCode( i );
}
s=”;

对于(var i=32;i只需循环字符代码并将每个代码转换为一个字符:

var s = '';
for (var i=32; i<=127;i++) s += String.fromCharCode(i);
var s='';
对于(VarI=32;i
VarS='!“#$%&'()*+,-./0123456789:;?@abcdefghijklmnopqrstuvxyz[\\]^`abcdefghijklmnopqrstuvxyz{124;};

这是一个coffeescript版本

require 'fluentnode'

all_Ascii = ->
  (String.fromCharCode(c) for c in  [0..255])

describe 'all Ascii', ->

  it 'all_Ascii', ->
    all_Ascii.assert_Is_Function()
    all_Ascii().assert_Size_Is 256
    all_Ascii()[0x41].assert_Is 'A'
    all_Ascii()[66  ].assert_Is 'B'
    all_Ascii()[50  ].assert_Is '2'
    all_Ascii()[150 ].assert_Is String.fromCharCode(150)

我只是想把这个放在这里作为参考。(在我的电脑上大约需要13/100到26/100毫秒来生成)

分解:

var allAsciiPrintables = (function() {
    /* ArrayIterator */
    var result = Array(126 + 32).keys();    
    /* [0, 126 + 32] */
    result = Array.from(result);
    /* [32, 126 + 32] */
    result = result.slice(32);
    /* transform each item from Number to its ASCII as String. */
    result = result.map((item) => {
        return String.fromCharCode(item);
    });
    /* convert from array of each string[1] to a single string */
    result = result.join('');

    /* create an escaped string so you can replace this code with the string 
       to avoid having to calculate this on each time the program runs */
    result = JSON.stringify(result);

    /* return the string */
    return result;
})();
最有效的解决方案(如果您想在每次脚本运行时生成整个集合,可能是)(在我的计算机上生成大约需要3/100-35/100毫秒)

var allAsciiPrintables=(()=>{
var结果=新阵列(126-32);

对于(var i=32;i,不做几个附录:

var s=Array.apply(空,数组(127-32))
.map(函数(x,i){
返回字符串.fromCharCode(i+32);
}).加入(“”);

document.write(s);
这是一个用python编写的版本。以单个字符串的顺序给出所有ASCII字符

all_ascii=''.join(chr(k)表示范围(128)内的k)#7位
all_chars=''.join(范围(256)内k的chr(k))#8位
可打印的_ascii=''。如果len(repr(chr(k))==3,则连接(chr(k)表示范围(128)内的k)
>>>打印(可打印的ascii)
“!”、-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^ `ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}”
此处的最后一个字符串,
printable\u ascii
仅包含不包含转义符的字符(即长度==1)。系统字体中没有自己标志符号的字符如:
\x05、\x06
\t\n


len(repr(chr(k))==3
包括来自
repr
call的两个引号。

你说的“全部”是什么意思?按字母顺序,或者不管每个字符表示是否有实际的书写值?他确实指定了ASCII,并且很可能只想要可打印字符,所以你要坚持使用32个字符实际上,字符127不是真正可打印的,所以32你是对的Michael,我不确定ASCII的实际范围。真丢脸-/但我现在查过了,似乎我们应该把它缩小到32到126,因为我相信德尔也不是一个可打印的字符。但如果我错了,请纠正我。@Joachim:我敢打赌他在寻找“所有可打印的西欧字符”或“所有可打印的我的母语字符”。“ascii”一词的定义,尤其是当以小写形式呈现时,我注意到这些年来变得有点草率。@YakovL Extended ASCII不是一个字符集。因此这个术语几乎不足以用于所有目的。JavaScript使用的是的UTF-16字符编码(Java、.NET、VB4/5/6/a/Script等也是如此).我在寻找unicode,所以其他人也可能是:Abcdefghijklmnopqrstuvwxyzabefghijklmnopqrstuvxyz包含所有(打印)ASCII字符的字符串,这是可行的,因为ASCII是一个小的固定集。如果您打算覆盖ASCII以外的任何字符集,您必须了解Unicode如何对代码点进行分类,并针对您的问题使用适当的解决方案。如果您正在寻找“包含所有字符的字符串”,你做错了-很可能是做错了。我只是想帮助任何可能正在寻找unicode字符的人,就像我自己一样。从谷歌来的。我只是想要一个包含所有ASCII可打印字符的字符串文字。谢谢。谢谢@StuartP.Bentley。这个问题问的是可打印ASCII。
var allAsciiPrintables = JSON.stringify((Array.from(Array(126 + 32).keys()).slice(32).map((item) => {
    return String.fromCharCode(item);
})).join(''));
var allAsciiPrintables = (function() {
    /* ArrayIterator */
    var result = Array(126 + 32).keys();    
    /* [0, 126 + 32] */
    result = Array.from(result);
    /* [32, 126 + 32] */
    result = result.slice(32);
    /* transform each item from Number to its ASCII as String. */
    result = result.map((item) => {
        return String.fromCharCode(item);
    });
    /* convert from array of each string[1] to a single string */
    result = result.join('');

    /* create an escaped string so you can replace this code with the string 
       to avoid having to calculate this on each time the program runs */
    result = JSON.stringify(result);

    /* return the string */
    return result;
})();
var allAsciiPrintables = (() => {
    var result = new Array(126-32);
    for (var i = 32; i <= 126; ++i) {
        result[i - 32] = (String.fromCharCode(i));        
    }
    return JSON.stringify(result.join(''));
})();
var x;
var t;

t = performance.now();
x = '!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
t = performance.now() - t;
console.log(t);