java的OutputStream.writeUTF()函数

java的OutputStream.writeUTF()函数在做数据传输的时候,这边传送的数据都是正确的,可是每次到了另一边就会莫名的前面都几个乱码字符

百思不得其解,既然传的时候字符串是对的,那边收的不对,那就是writeUTF在其中搞怪?

在网上查,发现writeUTF()写出一个UTF-8编码的字符串前面会加上2个字节的长度标识,已标识接下来的多少个字节是属于本次方法所写入的字节数。

原来writeUTF会在开头自以为是的加上长度信息。

后来改为:OutputStreamWriter 的write()函数就好了。


DataOutputStream的writeUTF():00 01 61 00 01 62

OutputStreamWriter的write():61 62

write()方法按照常理,直接写出UTF-8编码后的字符。

posted @ 2023-11-17 00:26  永不秃  阅读(44)  评论(0编辑  收藏  举报