【发布时间】:2021-06-13 14:50:05
【问题描述】:
我想知道如何在 java 中序列化原始字符。我序列化了一个类以了解字节信息是如何存储在 java 中的。以下是我序列化的类。
public class Person implements Serializable{
char ch = (char) 128;
private String name = "abc" + ch;
private int age = 11;
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
}
当我将它转换为字节数组时,
"abc" + ch
曾经
97 98 99 -62 -128
我想知道 ch 是如何用 -62 -128 表示的。 "abc" 是根据它们的 ASCII 值来表示的,但是 ch 是如何用 -62 -128 来表示的
【问题讨论】:
-
字符串以Modified UTF-8 格式编写,根据ObjectOutputStream.writeUTF 方法的文档
标签: java serialization char