它是“ Modified UTF-8
”编码的一个属性,用于存储代理对(甚至该范围的未配对字符),例如单个字符。如果声称使用标准的解码器
UTF-8使用“ Modified
UTF-8 ” ,那就是一个错误。这似乎已在Java 8中修复。
您可以使用 指定 使用“ Modified UTF-8 ” 的方法可靠地读取此类数据:
ByteBuffer bb=ByteBuffer.allocate(array.length+2);bb.putShort((short)array.length).put(array);ByteArrayInputStream bis=new ByteArrayInputStream(bb.array());DataInputStream dis=new DataInputStream(bis);String str=dis.readUTF();



