我正在尝试创建一个知道一定数量位的新字节
char prostie1 = theRepChars[j-3];
char prostie2 = theRepChars[j-2];
char prostie3 = theRepChars[j-1];
char prostie4 = theRepChars[j];
String prostiaMare = prostie4 + prostie3 + prostie2 + prostie1 + "";
Byte theChar = new Byte(prostiaMare);
当我这样做时,我得到一个 NumberFormatException 值 196。
我不知道我的问题可能是什么
- 编辑 -
好的,我想我可能需要提供更多细节,因为我不是很清楚。我正在尝试做一个 Uuencode 算法,并按照算法的逻辑,我应该阻止我的字节值大于 194。这是我的一堆代码。
if(my_chars.length % 3 == 0)
{
for(int x = 0; x < my_chars.length; x++)
{
if((x+1) % 3 == 0)
{
char first = my_chars[x-2];
char second = my_chars[x-1];
char third = my_chars[x];
int n = (((first << 8) | second) << 8) | third;
String theRep = Integer.toBinaryString(n);
while(theRep.length() < 24 - 1)
{
theRep = 0 + theRep;
}
//0 padded theRep
for(int j = 0; j < theRepChars.length; j++)
{
if((j+1) % 4 == 0)
{
char prostie1 = theRepChars[j-3];
char prostie2 = theRepChars[j-2];
char prostie3 = theRepChars[j-1];
char prostie4 = theRepChars[j];
String prostiaMare = prostie4 + prostie3 + prostie2 + prostie1 + "";
System.out.println(prostiaMare);
}
}
}
}
}
并尝试使用 prostiaMare 的值创建一个新字节,这给了我 numberFormatException。我不确定我是否没有正确遵循算法(http://www.herongyang.com/encoding/UUEncode-Algorithm.html)