反向工程Java反编译器给出了奇怪的符号
我正在使用一个Java反编译器,它似乎给出了一个合理的代码,只是它为常量整数提供了奇怪的符号。例如:
#int[] arr = new int['田'];
此符号的数值为U+7530。我想知道它是否能将这个符号恢复到它的数值,或者我不能依赖这个机制
我的问题是,这段代码给出了一个数组越界异常,因此调整数组的大小非常重要
你可以在下面搜索框中键入要查询的问题!
我正在使用一个Java反编译器,它似乎给出了一个合理的代码,只是它为常量整数提供了奇怪的符号。例如:
#int[] arr = new int['田'];
此符号的数值为U+7530。我想知道它是否能将这个符号恢复到它的数值,或者我不能依赖这个机制
我的问题是,这段代码给出了一个数组越界异常,因此调整数组的大小非常重要
# 1 楼答案
在字节码级别,局部变量不区分布尔、字节、字符、短字符和整数。所有内容都是在后台编译为int,并在适当的地方插入截断指令
这意味着反编译器必须任意决定将其反编译到哪种类型(假设没有调试元数据)。看起来您的反编译器决定将整数常量反编译为字符常量