在 Java 中将字节传输到 char - 在 CMD 中

Transfer byte to char in Java - in CMD

如果我在Java中将byte转移到char,我会遇到以下问题:

在 Netbeans 中全是 O.K,但是如果我从 Windows cmd 运行 程序,我遇到了字符集问题。不知道为什么。

怎么办?

代码:

char tmp = (byte) charFromByteInt; // it's byte in int variable

根据你的输出图像猜测这是一个字符集问题。

以下代码段 return 输入字符串的相同字节值。

String testString = "TEST for Whosebug";

byte[] bytes = testString.getBytes(StandardCharsets.UTF_8);
System.out.println("bytes = " + Arrays.toString(bytes));

bytes = testString.getBytes(StandardCharsets.ISO_8859_1);
System.out.println("bytes = " + Arrays.toString(bytes));

输出

bytes = [84, 69, 83, 84, 32, 102, 111, 114, 32, 115, 116, 97, 99, 107, \
         111, 118, 101, 114, 102, 108, 111, 119]

由于控制台中的输出生成的字符多于输入字符串中的字符,因此您应该检查输出的来源(从中获取 byte / int 值)。