字符转换为ASCII在Java数值(Convert character to ASCII numer

2019-09-02 08:26发布

我有String name = "admin";
然后我做String char = name.substring(0,1); //char="a" String char = name.substring(0,1); //char="a"

我想将转换char到它的ASCII值(97),我怎么可以在Java做到这一点?

Answer 1:

非常简单。 只要投你的charint

char character = 'a';    
int ascii = (int) character;

在你的情况,你需要首先从字符串的特定字符,然后将它转换。

char character = name.charAt(0); // This gives the character 'a'
int ascii = (int) character; // ascii is now 97.

虽然投中没有明确要求,但它提高了可读性。

int ascii = character; // Even this will do the trick.


Answer 2:

只是不同的方法

    String s = "admin";
    byte[] bytes = s.getBytes("US-ASCII");

bytes[0]将代表的ASCII ..从而对整个阵列中的其它字符。



Answer 3:

取而代之的是:

String char = name.substring(0,1); //char="a"

您应该使用charAt()方法。

char c = name.charAt(0); // c='a'
int ascii = (int)c;


Answer 4:

如果您想将整个字符串转换成ASCII串接值,那么你可以使用这个 -

    String str = "abc";  // or anything else

    StringBuilder sb = new StringBuilder();
    for (char c : str.toCharArray())
    sb.append((int)c);

    BigInteger mInt = new BigInteger(sb.toString());
    System.out.println(mInt);

其中,你会得到979899作为输出。

感谢这个 。

我只是把它抄了这里,所以,这将是方便他人。



Answer 5:

这几个答案是声称显示如何做到这都是错误的,因为Java的字符是ASCII字符。 Java使用Unicode字符多字节编码。 Unicode字符集是一个超集ASCII的。 因此,有可能在不属于ASCII Java字符串的字符。 这样的人物没有一个ASCII数值,所以询问如何获得Java字符的ASCII数值是无法回答的。

可是你为什么要这么做呢? 你打算用价值呢?

如果你想要的数值,所以你可以在Java字符串转换为ASCII字符串, 真正的问题是“我怎么编码的Java String作为ASCII”。 为此,使用对象StandardCharsets.US_ASCII



Answer 6:

转换字符为int。

    String name = "admin";
    int ascii = name.toCharArray()[0];

另外:

int ascii = name.charAt(0);


Answer 7:

只投炭为int。

char character = 'a';
int number = (int) character;

的值number将是97。



Answer 8:

这很简单,得到你想要的字符,并将其转换为int。

String name = "admin";
int ascii = name.charAt(0);


Answer 9:

我知道这已经在几种形式回答,但这里是我带着一脸的码位要经过的所有字符。

下面是代码,开始与阶级

public class CheckChValue {  // Class name
public static void main(String[] args) { // class main

    String name = "admin"; // String to check it's value
    int nameLenght = name.length(); // length of the string used for the loop

    for(int i = 0; i < nameLenght ; i++){   // while counting characters if less than the length add one        
        char character = name.charAt(i); // start on the first character
        int ascii = (int) character; //convert the first character
        System.out.println(character+" = "+ ascii); // print the character and it's value in ascii
    }
}

}



Answer 10:

String str = "abc";  // or anything else

// Stores strings of integer representations in sequence
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray())
    sb.append((int)c);

 // store ascii integer string array in large integer
BigInteger mInt = new BigInteger(sb.toString());
System.out.println(mInt);


Answer 11:

String name = "admin";
char[] ch = name.toString().toCharArray(); //it will read and store each character of String and store into char[].

for(int i=0; i<ch.length; i++)
{
    System.out.println(ch[i]+
                       "-->"+
                       (int)ch[i]); //this will print both character and its value
}


Answer 12:

public class Ascii {
    public static void main(String [] args){
        String a=args[0];
        char [] z=a.toCharArray();
        for(int i=0;i<z.length;i++){ 
            System.out.println((int)z[i]);
        }
    }
}


Answer 13:

作为@Raedwald指出,Java的Unicode的不迎合所有的字符获得ASCII值。 正确的方法(Java 1.7+)如下:

byte[] asciiBytes = "MyAscii".getBytes(StandardCharsets.US_ASCII);
String asciiString = new String(asciiBytes);
//asciiString = Arrays.toString(asciiBytes)


Answer 14:

这一个简单的方法是:

    int character = 'a';

如果您打印“人物”,你会得到97。



Answer 15:

或者你可以使用流API为1个字符或使用Java 1.8开始的字符串:

public class ASCIIConversion {
    public static void main(String[] args) {
        String text = "adskjfhqewrilfgherqifvehwqfjklsdbnf";
        text.chars()
                .forEach(System.out::println);
    }
}


Answer 16:

您可以使用此代码检查ASCII's数。

String name = "admin";
char a1 = a.charAt(0);
int a2 = a1;
System.out.println("The number is : "+a2); // the value is 97

如果我错了,道歉。



Answer 17:

如果你想在一个字符串的所有字符的ASCII值。 您可以使用此:

String a ="asdasd";
int count =0;
for(int i : a.toCharArray())
    count+=i;

如果你想在一个字符串,你可以去一个字符的ASCII:

(int)a.charAt(index);


Answer 18:

我尝试同样的事情,但最好的和简单的解决方案是使用的charAt和访问,我们应该创建[128]大小的整数数组索引。

String name = "admin"; 
int ascii = name.charAt(0); 
int[] letters = new int[128]; //this will allocate space with 128byte size.
letters[ascii]++; //increments the value of 97 to 1;
System.out.println("Output:" + ascii); //Outputs 97
System.out.println("Output:" +  letters[ascii]); //Outputs 1 if you debug you'll see 97th index value will be 1.

在情况下,如果要显示完整的字符串的ASCII值,你需要做到这一点。

String name = "admin";
char[] val = name.toCharArray();
for(char b: val) {
 int c = b;
 System.out.println("Ascii value of " + b + " is: " + c);
}

您的输出,在这种情况下,将是:的ASCII值是:d 97 ASCII值:m的100 ASCII值是:ⅰ109 ASCII值为:n 105 ASCII值:110



Answer 19:

最简单的方法来做到这一点:

对于整个字符串转换为ASCII:


public class ConvertToAscii{
    public static void main(String args[]){
      String abc = "admin";
      int []arr = new int[abc.length()];
      System.out.println("THe asscii value of each character is: ");
      for(int i=0;i<arr.length;i++){
          arr[i] = abc.charAt(i); // assign the integer value of character i.e ascii
          System.out.print(" "+arr[i]);
      }
    }
}


输出是:

THe asscii value of each character is: 97 100 109 105 110


这里, abc.charAt(i)给出的字符串数组的单个字符:当我们分配每个字符为整型然后,编译器做类型转换为,

arr[i] = (int) character // Here, every individual character is coverted in ascii value

但是,对于单个字符:

String name = admin; asciiValue = (int) name.charAt(0);// for character 'a' System.out.println(asciiValue);



Answer 20:

使用Java 9 => String.chars()

String input = "stackoverflow";
System.out.println(input.chars().boxed().collect(Collectors.toList()));

输出 - [115,116,97,99,107,111,118,101,114,102,108,111,119]



Answer 21:

为此,我们可以马上用String CLASSE的

    input.codePointAt(index);

我想给另一个建议,以获得整个字符串转换成相应的ASCII码的,用java 8例如,“ABCDE”到“979899100101”。

    String input = "abcde";
    System.out.println(
            input.codePoints()
                    .mapToObj((t) -> "" + t)
                    .collect(joining()));


文章来源: Convert character to ASCII numeric value in java