【问题标题】:How to convert String (of length 1) to the associated int value of ASCII code (0-255)?如何将String(长度为1)转换为ASCII码(0-255)的相关int值?
【发布时间】:2011-10-10 01:44:18
【问题描述】:

在我的代码中,我有一个长度为 1 的字符串, 我想将其转换为与(扩展)ASCII码(0-255)的字符值关联的int。

例如:

"A"->65
"f"->102

【问题讨论】:

    标签: java string character


    【解决方案1】:
    int asciiCode = (int)A.charAt(0);
    

    或者,如果您确实需要获取字符串文字“A”的ASCII码,而不是变量A引用的字符串:

    int asciiCode = (int)"A".charAt(0);
    

    【讨论】:

    • (int) 'A' 你的第二个更简单。顺便说一句,我认为“我有一个字符串”是一个错字。或许 Belgi 的意思是“我有一根弦”。
    • @MikeSamuel “A”和“A”之间有真正的区别。
    • 没错,但"A".charAt(0)'A'之间没有区别。
    • @MikeSamuel 肯定有。如果您的输入是长度为 1 的字符串,并且您想处理类型 char 原语,则必须通过在其上调用 charAt() 将其转换为 char 原语,而不是假设您的字符串输入突然是 char 类型因为这就是你所需要的。
    • 如果你在java中被要求添加int 10和1,你是简单地说答案可以由int 11给出,还是说return 10 + 1?当然,相等运算符== 表示它们相等,因此答案必须相同。
    【解决方案2】:

    你的意思是char?您真正需要做的就是将字符转换为 int。

                String a = "A";
                int c = (int) a.charAt(0);
                System.out.println(c);
    

    输出65

    这里有一个更全面的代码。

      import java.io.*;
        import java.lang.*;
    
          public class scrap{
          public static void main(String args[]) throws IOException{
          BufferedReader buff =
          new BufferedReader(new InputStreamReader(System.in));
          System.out.println("Enter the char:");
          String str = buff.readLine();
          for ( int i = 0; i < str.length(); ++i ){
          char c = str.charAt(i);
          int j = (int) c;
          System.out.println("ASCII OF "+c +" = " + j + ".");
          }
          }
    
      }
    

    【讨论】:

    • 我有“A”而不是“A”。你能告诉我如何从“A”到“A”吗?
    猜你喜欢
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    • 2014-10-17
    相关资源
    最近更新 更多