C#和Java之间的内容长度不同

C#和Java之间的内容长度不同,java,httpwebrequest,Java,Httpwebrequest,我正在尝试从浏览器读取上载文件,然后写入远程服务器。但是我发现request.getheader(“content length”)与JAVA中request.getInputStream()的实际长度不同。但是Request.Header[“Content Length”]与C#中Request.InputStream的实际长度相同 有人能解释一下这种差异吗?你确定这些情况具有可比性吗?一个陷阱可能是压缩内容的可能性。 如果一个实现对字符进行计数,另一个实现对通过连接发送的字节进行计数,那么另

我正在尝试从浏览器读取上载文件,然后写入远程服务器。但是我发现request.getheader(“content length”)与JAVA中request.getInputStream()的实际长度不同。但是Request.Header[“Content Length”]与C#中Request.InputStream的实际长度相同


有人能解释一下这种差异吗?

你确定这些情况具有可比性吗?一个陷阱可能是压缩内容的可能性。
如果一个实现对字符进行计数,另一个实现对通过连接发送的字节进行计数,那么另一个可能是字符编码。

谢谢您的回复。毕竟,我们发现在尝试将1024长度的数据读取到缓冲区字节[]数组时存在错误。Java中的readByte方法,只将第一个字节填充到“\0”,而不清除其他字节。因此,我们写入远程流的字节比“内容长度”长。