繁体   English   中英

如何获得正确的 ascii 值?

[英]How can I get the correct ascii values?

我正在尝试将给定的字符串转换为其 ascii 数值。 我的输入将是坐标,例如“A1”、“H3”、“E8”等。

这是我的代码:

public static void main(String[] args) {
        String s = args[0];
        char [] charArray = s.toCharArray();
        int ascii = 0;
        for (int i = 0; i < charArray.length; i ++) {
            ascii = ascii + Character.getNumericValue(charArray[i]);
        }
    }

我期望 A1 的输出为 114,因为 (int) 'A' = 65 和 (int) '1' = 49,但是我得到 A1 的结果 11。 我怎样才能解决这个问题?

Character.getNumericValue不会给你字符的 ascii 表示。

char只是一个包含字符的数字表示的 16 位正整数。

因此,您可以将char添加到int ( ascii+=charArray[i]; )。

[注意]

char 表示 Unicode-1 字符而不是 ascii 字符,但它向后兼容。

我正在尝试将给定的字符串转换为它的ascii数值。 我的输入将是诸如“ A1”,“ H3”,“ E8”等的坐标。

这是我的代码:

public static void main(String[] args) {
        String s = args[0];
        char [] charArray = s.toCharArray();
        int ascii = 0;
        for (int i = 0; i < charArray.length; i ++) {
            ascii = ascii + Character.getNumericValue(charArray[i]);
        }
    }

我期望A1的输出为114,因为(int)'A'= 65并且(int)'1'= 49,但是我得到A1的结果11。 我怎样才能解决这个问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM