Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
如何在JAVA中将二进制值转换为ASCII?_Java_Binary_Ascii - Fatal编程技术网

如何在JAVA中将二进制值转换为ASCII?

如何在JAVA中将二进制值转换为ASCII?,java,binary,ascii,Java,Binary,Ascii,这是一个我无法理解的家庭作业。我必须手动执行,因此不能使用“getBytes()”。此外,我必须先转换为十进制格式,然后将十进制转换为ASCII(例如,{0,1,1,0,0,0,0,1,0}=98,十进制格式,即“b”)。我已将二进制代码排列到一个数组中,并希望使用for循环逐位置遍历数组。但是,我不确定是否为for循环使用了正确的参数,也不确定如何将代码划分为“8”位。另外,如何将十进制值转换为ASCII?我是否应该列出所有可能收到的字母,然后使用if-else循环引用它们?或者我可以把小数转

这是一个我无法理解的家庭作业。我必须手动执行,因此不能使用“getBytes()”。此外,我必须先转换为十进制格式,然后将十进制转换为ASCII(例如,{0,1,1,0,0,0,0,1,0}=98,十进制格式,即“b”)。我已将二进制代码排列到一个数组中,并希望使用for循环逐位置遍历数组。但是,我不确定是否为for循环使用了正确的参数,也不确定如何将代码划分为“8”位。另外,如何将十进制值转换为ASCII?我是否应该列出所有可能收到的字母,然后使用if-else循环引用它们?或者我可以把小数转换成字符吗?这是我到目前为止的代码。。。(有点乱,对不起)

for(int x = binaryLen - 1; x >= 0; x--)
{
    bitVal = binary[x];
    preVal = bitVal * base;
    totVal += preVal;
    base = base * 2;
}

对于
解码
,您的想法是正确的。我不明白为什么您的代码不能工作,尽管我在任何地方都看不到
pow
实现

for(int x = binaryLen - 1; x >= 0; x--)
{
    bitVal = binary[x];
    preVal = bitVal * base;
    totVal += preVal;
    base = base * 2;
}
十进制转换为ascii很简单,只需将值转换为字符:

for(int x = binaryLen - 1; x >= 0; x--)
{
    bitVal = binary[x];
    preVal = bitVal * base;
    totVal += preVal;
    base = base * 2;
}
int v = ...;       // decimal value
char c = (char)v;  // ascii value
int[]bValue={1,0,0,1,0,1};
int-iValue=0;
//将二进制转换为十进制
对于(inti=0,pow=bValue.length-1;i

如果您需要整个ASCII表,您可以将值放入一个映射中,其中键是整数值,值是相应的ASCII条目。

谢谢!我无法理解这一点,它为我节省了大量代码。
for(int x = binaryLen - 1; x >= 0; x--)
{
    bitVal = binary[x];
    preVal = bitVal * base;
    totVal += preVal;
    base = base * 2;
}