java http 传输二进制流_字符流、字节流、二进制及其在HTTP协议传输

本文介绍了Java中的字节流、字符流和二进制流的概念,强调字节流适用于任何类型数据,字符流处理Unicode字符。在HTTP协议中,通常以ASCII文本传输,但二进制数据需要编码。直接传输二进制可能引发长度丢失和处理困难等问题,而HTTP头信息指示内容类型和长度,确保正确解析。
摘要由CSDN通过智能技术生成

一、二进制、字节、字符流概念

字(Byte)节是长度单位。位(bit)也是长度单位。

计算机通信和存储的时候都是以010101这样的二进制数据为基础的

二进制数有两个特点:它由两个基本字符0,1组成,二进制数运算规律是逢二进一。

在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。

程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。

在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)

java中提供了专用于输入输出功能的包Java.io,其中包括:

InputStream,OutputStream,Reader,Writer

InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,

Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串.

字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值