我正在用电传打字制作一个键盘应用程序,出现了一个无法解释的愚蠢错误,有人能解释一下这个问题来帮助我吗?它只在发布(生成apk)应用程序时发生,在运行调试时,它正常运行,没有任何差异。
int value = (originalTypedChar == 'w' ? 'ư' : 'Ư');
handleCharacterWhileInBatchEdit(value);
功能检查日志
private void handleCharacterWhileInBatchEdit(final int primaryCode) {
Log.e("TAG", "primaryCode: " + primaryCode);
}
结果日志:primaryCode:119(如果originalTypedChar=='w'为真)或87(如果originalTypedChar=='w'为假),但不是432(如果为真)或431(如果为假)
当我插入这样的行日志时,结果是正确的:
int value = (originalTypedChar == 'w' ? 'ư' : 'Ư');
Log.e("TAG", "value : " + value);
handleCharacterWhileInBatchEdit(value);
结果日志:432(如果为真)或431(如果为假)
ASCII码“w”是119,
ASCII码“W”是97,
ASCII码“Æ°”为432,
ASCII码“”是431。