Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据JS中的数字从数字创建数组?_Javascript_Arrays_String - Fatal编程技术网

Javascript 如何根据JS中的数字从数字创建数组?

Javascript 如何根据JS中的数字从数字创建数组?,javascript,arrays,string,Javascript,Arrays,String,我需要把十六进制的ASCII码翻译成字符。我从ascii格式的服务器编号(作为字符串)中获得,比如:64656661756c74(表示“默认”)。我知道String.fromCharCode(),但首先我需要将原始消息拆分为两位数(数组)。如何根据持续时间分割两位数? 谢谢 要将其拆分为两个字符的块,请使用如下正则表达式: var str='64656661756c74'; str=str.match(/.{1,2}/g); console.log(str)由于字符串是十六进制字符串表示形式,

我需要把十六进制的ASCII码翻译成字符。我从ascii格式的服务器编号(作为字符串)中获得,比如:64656661756c74(表示“默认”)。我知道String.fromCharCode(),但首先我需要将原始消息拆分为两位数(数组)。如何根据持续时间分割两位数?
谢谢

要将其拆分为两个字符的块,请使用如下正则表达式:

var str='64656661756c74';
str=str.match(/.{1,2}/g);

console.log(str)由于字符串是十六进制字符串表示形式,因此在传递到
字符串之前,还必须转换为十进制数。fromCharCode

const str=“64656661756c74”
.match(/.{2}/g)
.map(ch=>String.fromCharCode(parseInt(ch,16)))
.加入(“”);
console.log(str);

//“默认值”
使用
替换
a='64656661756c74';
设r=a.replace(/([0-9a-f]{2})/g,(m,a)=>String.fromCharCode(parseInt(a,16)))

console.log(r)
如上所述,您的ASCII序列可能不正确。也许它是一个十六进制的流

假设ASCII数字正确, 你可以这样说

var str='68697065857684';
str=str.match(/.{1,2}/g);
对于(index=str.length-1;index>=0;--index){
var-temp=str[指数];
str[index]=String.fromCharCode(temp);
}

console.log(str)您确定ASCII是正确的吗?我认为应该是
68697065857684
。欢迎来到StackOverflow!这个社区专注于解决特定的编程问题,所以像“我怎么做…?”这样的问题往往过于广泛。你应该试着自己弄清楚,如果你遇到任何具体问题,把它们贴在这里,我相信你会得到帮助。什么样的服务器会以十六进制字符串的形式返回文本?!对不起,我更新了我的问题,是的,它是十六进制的ASCII码。返回此类答案的服务器是“Grass valley K2 summit”。它的AMP控制协议。是的,因为除了UTF-16之外,JavaScript本质上没有字符编码库,所以您可以依赖块的ASCII编码与UTF-16编码相同,并使用
fromCharCode
;或者依赖于该块的ASCII编码与ASCII码点和Unicode码点相同,并使用
fromCodePoint
。依我看,这值得一个代码注释。是的,它是十六进制的(十进制没有意义),而且是小写的!你是对的@Bergi我第一次看到十六进制的文本流:)对不起,我更新了我的问题,是的,它是十六进制的ASCII码。返回此类答案的服务器是“Grass valley K2 summit”。它的AMP控制协议。很好的解决方案。