首页 > 解决方案 > java - 如何在java中从int重新转换为AScII?

问题描述

所以我的理解是,例如,如果我有一个 int a = 49 并想找出与之等效的 ASCII,我需要做的就是:

 int a = 49; 
 System.out.println((char)a);

它具有输出:1。

但是我怎样才能做到这一点呢?所以假设我有 int a = 1 并且我希望输出为 49?

我已经尝试过类似的东西:

int a = 1; 
System.out.println ((char)a);

但这里的输出是“。” 而不是 49。

标签: javatypesascii

解决方案


这个:

int a = 49;  
System.out.println((char)a);  

为您提供内部值为 49 的 char,即 unicode 字符“1”。没有进行数字转换,只是查看相同数字的两种方式。

在这:

int a = 1; 
System.out.println((char)a);

您会得到内部值为 1 的 char,这是一个 unicode 控制字符(ctrl/A,可能不会以任何有用的方式打印)。没有任何东西可以神奇地得出 49 的值。

如果你有字符“1”,那么很容易:

int a = '1';  
System.out.println(a);  

但这实际上与您的第一个案例相同;'1' 和 49 是相同的值。


推荐阅读