gpt4 book ai didi

javascript - 文本转二进制 JS

转载 作者:行者123 更新时间:2023-12-01 03:56:12 28 4
gpt4 key购买 nike

我正在编写一段代码以将文本转换为二进制。首先,我将文本转换为十进制,然后将十进制转换为二进制。我遇到的问题是在“decimalToBinary”函数中,它告诉我“未捕获的类型错误:无法读取未定义的属性“toString””,有人可以解释一下出了什么问题吗?

function start() {
var text = readLine("Input the string you would like to encode: ");
var binary = textToBinary(text);
println(binary);
}

function textToBinary(text) {
var toASCII = [];
var toBINARY = [];
text.toUpperCase();
for (var i = 0; i < text.length; i++) {
var ASCII_CODE = text.charCodeAt(i);
toASCII.push(ASCII_CODE);
}
for (var j = 0; j < toASCII.length; i++) {
var arrnum = toASCII[i]
var final = decimalToBinary(arrnum);
toBINARY.push(final);
}
return toBINARY;
}

function decimalToBinary(decimalValue) {
var binaryBase = 2;
var numBitsDesired = 8;
var binaryValue = decimalValue.toString(binaryBase);
while (binaryValue.length < numBitsDesired) {
binaryValue = "0" + binaryValue;
}
return binaryValue;
}

最佳答案

您的代码中有一些拼写错误:

function textToBinary(text){
var toASCII = [];
var toBINARY = [];
text.toUpperCase();
for(var i = 0 ; i < text.length ; i++){
var ASCII_CODE = text.charCodeAt(i);
toASCII.push(ASCII_CODE);
}
for(var j = 0 ; j < toASCII.length ; i++){ // <- This should be j++ instead of i++
var arrnum = toASCII[i] // <- Same here; j instead of i (i is off limits).
var final = decimalToBinary(arrnum);
toBINARY.push(final);
}
return toBINARY;
}

通过访问具有无效索引(越界)的数组,您将获得一个未定义值。

关于javascript - 文本转二进制 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42650946/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com