Java 将扫描器字符转换为字节

Java 将扫描器字符转换为字节,java,type-conversion,character,byte,Java,Type Conversion,Character,Byte,我是Java方面的新手,正在尝试将用户输入转换为十六进制。目前,我正在尝试将其首先转换为字节,但是我得到了关于一行的错误,Byte getByte=Byte.parseBytegetCharacter 总体代码如下所示 import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { // write your c

我是Java方面的新手,正在尝试将用户输入转换为十六进制。目前,我正在尝试将其首先转换为字节,但是我得到了关于一行的错误,Byte getByte=Byte.parseBytegetCharacter

总体代码如下所示

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
    // write your code here

        Scanner scanner = new Scanner(System.in);
        String name = scanner.next();
        String binary = "", hexidecimal = "";

        ArrayList<Character> chars = new ArrayList<>();

        for(char c : name.toCharArray()) chars.add(c);

        for(char c : chars) {

            try {
                String getCharacter = Character.toString(c);
                Byte getByte = Byte.parseByte(getCharacter);
                String stringByte = Byte.toString(getByte);
                binary.concat(stringByte);
            } catch (NumberFormatException e) {
                e.printStackTrace();
            }

        }

        System.out.println(binary);

    }
}

但是,我不明白如何将char a='\uffff'之类的内容合并到我的程序中。

如果要将整个字符串转换为十六进制,最简单的方法是:

public class stringToHex {
    public static void main(String[] args) throws UnsupportedEncodingException { //exception is necessary to convert to a byte array
        String test = "Hello World";
        byte[] bytes = test.getBytes("UTF-8"); //make a byte array out of the string
        System.out.println(DatatypeConverter.printHexBinary(bytes)); //use DatetypeConverter to convert binary to hex
    }
}
如果您绝对需要接受字符而不是字符串,我认为最简单的解决方案是将其转换为字符串,然后再转换为字节数组:

byte[] bytes = new String(ch).getBytes("UTF-8");

如何将用户文本输入转换为十六进制?是否要以十六进制a->0x61显示字符的ASCII/UTF-8值?或者他们是否输入一个十进制数字,您希望输出为十六进制10->0x0A?