Byte
Java中的字节流对象
DataInputStream
readByte()
DataOutputStream
writeByte()
Character
ASCII
7-bit foramt
128 characters
ISO 646 字符集是ASCII的一个子集
ISO 8859
8-bit format
前128个字符为ASCII, 因此ASCII是ISO8859的一个子集
最流行的是 ISO 8859-1, 其覆盖了西欧字符
使用8859的java类有
PrintStream
PrintStream printer = new PrintStream();
printer.print(str);//输出一个字符串
BufferedReader reader = new BufferedReader();
String line = reader.readLine(); //读取一行,读取的每个字符均为8bit编码
新行:
unix中,新的一行为 \n
msdos中,新的一行为 \r\n
在socket中尽量不要使用 println(), 因为在msdos环境下不会出错,但是在unix环境下会出错,得到错误的换行符
Unicode
16-bit 字符编码
Unicode基本可以覆盖所有的语言
Java默认使用Unicode, 即西文字符也使用16为编码,只不过高16位均为0
Unicode UTF
当为ASCII字符时,使用8位编码
但为其他字符时使用16为编码
DataOutputStream.writeUTF(String s)
其他的16-bit编码字符集
例如GBK等