java的io流包装数据为什么用byte类型数组。
byte数据类型8位,我的疑惑是,io流读取文件,是读取这个文件的每个字符对应其编码的2进制?那么所有的二进制大小都不超过8位吗?...
byte数据类型 8位,我的疑惑是,io流读取文件,是读取这个文件的每个字符对应其编码的2进制?那么所有的二进制大小都不超过8位吗?
展开
2个回答
展开全部
我的理解是,文件传输的时候用的是字符流或者字节流,
字符与字节
1、ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值-128,最大值127。如一个ASCII码就是一个字节。
2、UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节
3、Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节
传输的最小单位就是字节,一个字节是8位,正好每个byte的大小是8,一个 byte表示一个字节,不浪费空间。具体的他内部怎么知道哪两个字节可以表示一个字符,这个暂时不知道
字符与字节
1、ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值-128,最大值127。如一个ASCII码就是一个字节。
2、UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节
3、Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节
传输的最小单位就是字节,一个字节是8位,正好每个byte的大小是8,一个 byte表示一个字节,不浪费空间。具体的他内部怎么知道哪两个字节可以表示一个字符,这个暂时不知道
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询