[英]Java decompiler gives strange symbols
我正在使用Java反编译器,它似乎给出了一个合理的代码,除了它为常量整数提供了奇怪的符号。 例如:
#int[] arr = new int['田'];
此符号的数字值为U + 7530。 我想知道它是否可以将此符号恢复为其数值,或者我不能依赖此机制?
我的问题是这段代码给出了一个数组超出范围的异常,因此调整数组的大小非常重要。
在字节码级别,局部变量在布尔值,字节,字符,短路和整数之间没有区别。 所有内容都编译为引擎盖下的内容,并在适当的位置插入截断指令。
这意味着反编译器必须任意决定将其反编译为哪种类型(假设没有调试元数据)。 看起来您的反编译器决定将整数常量反编译为字符常量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.