java底层运算
1、求助,大神,下面代码是什么意思啊,遇到位运算就懵逼。。
2、这个问题是在反编译安卓apk遇到的,最近也是在读前辈的代码,解决历史遗留bug(=_=)。解析AndroidManifest.xml文件,需要将文件中的二进制解析出来,还原可读的xml文件。
private static final int getUTF8Length(int[] array, int offset) { int len; int value = array[offset/4]; if ((offset%4)/2!=0) { value = (value >> 16); } int hVal = value&0xFF; int lVal = value&0xFF00; if((hVal&0x80) != 0) { len = ((hVal&0x7F)<<8) | lVal; } else { len = hVal; } return len; }

浙公网安备 33010602011771号