java - 在java中将字符存储为单个字节

标签 java char byte

我读到我们应该使用 Reader/Writer 来读取/写入字符数据,使用 InputStream/OutputStream 来读取/写入二进制数据。另外,在java中字符是2个字节。我想知道下面的程序是如何工作的。它从标准输入读取字符,将它们存储在单个字节中并将其打印出来。这里两个字节字符如何装入一个字节?

http://www.cafeaulait.org/course/week10/06.html

最佳答案

评论解释得很清楚:

// Notice that although a byte is read, an int
// with value between 0 and 255 is returned.
// Then this is converted to an ISO Latin-1 char 
// in the same range before being printed.

基本上,这假设传入的字节表示 ISO-8859-1 中的字符。

如果您使用具有不同编码的控制台,或者提供的字符可能不符合 ISO-8859-1,您最终会遇到问题。

基本上,这不是好的代码。

关于java - 在java中将字符存储为单个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14635600/

相关文章:

java - Google map 没有出现在我的 Android 应用程序中

java - 如何使用 spring RestTemplate 生成带有二进制数据的curl 请求?

c++ - gdb 的奇怪行为

c# - 如何在 C++ 中复制包含空终止符的内存块

java - JAXB 将 byte[] 写入和读取到 xml - 不同的值

java - arraylist java编译错误

java - 使用 IntelliJ 设置 Scala

c# - char * 在托管代码中?

c++ - 如何创建一个随机打乱字符串的函数

byte - 寻址 32 个字节需要多少位?