导航:首页 > 编程语言 > javabyte转图片

javabyte转图片

发布时间:2024-11-01 16:04:48

java中byte是什么类型

java中byte是字节型。

java byte作为最小的数字来处理的,因此它的值域被定义为-128~127,byte的用作计数的时间远少于用表达基本内存单元的时间。

比如从stream里读入一个双字节字符,我们先收到2个byte。为了把byte转换成适当的形式,需要对byte值做一些比较,比如判断字符集要比较其是否在某个编码范围内。

(1)javabyte转图片扩展阅读:

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。

例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。

㈡ Java:为什么传输图片是常用base64字符串转码,而不是直接传输byte[]呢求解

先说说base64吧:对于图片来说,一个字节占八位,如果都换成byte[]的话,会很长,不便于传输,那么就把没6个字节来对应一个新的字符(如010011是19,对应base64编码的T),,所以这个目的主要是精简数据,便于传输;
另外常用的用途是:做不严格的加密用,比如常见的磁力链接,你懂的;因为它相对于严格加密省时省力,速度快,况且可恢复(如果用MD5就不行)

㈢ java 怎么把byte[]转换成图片显示在页面上

Servlet的doGet/doPost中


httpResponse.setHeader("Content-Type","image/jpeg");
Stringsql="SELECT*FROMUserWHEREID=2";
statement=connection.createStatement();
resultSet=statement.executeQuery(sql);

InputStreamin=null;
OutputStreamout=httpResponse.getOutputStream();

while(resultSet.next()){
//读取BLOB
Blobblob=resultSet.getBlob("image");
in=blob.getBinaryStream();

byte[]blobBuffer=newbyte[1024];
intlength=0;
while((length=in.read(blobBuffer))!=-1){
out.write(blobBuffer,0,length);
}
}
in.close();

㈣ 用JAVA怎样将保存在数据库BLOB类型的图片取出来转换为图片然后在页面展示啊

呵呵,这个是没有办法接受哦。
request.setCharacterEncoding("UTF-8");
response.setContentType("image/jpeg");
response.getOutputStream().write(bytes);
这几个参数是把这个图片直接发给浏览器,说白了就直接把图片当成文件让浏览器下载。
解决办法:
<img border=0 src="localhost:8080/Pic" />
localhost:8080是你配置WEB.XML
Pic是你的Servlet类名。

㈤ java中的byte有什么作用

在今天,byte字节就是一个八位元组,使用其它位数的机器都进了博物馆。 java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。不幸的是,byte的用作计数的时间远少于用表达基本内存单元的时间。比如从stream里读入一个双字节字符,我们先收到2个byte。为了把byte转换成适当的形式,需要对byte值做一些比较,比如判断字符集要比较其是否在某个编码范围内,比如GBK 0x8140~0xFEFE,然后new适当的string。 signed byte 把 0x00 ~ 0xff 映射成 0~127 -128~-1 两段,注意当与literal比较时,java自动将literal识别成int 可以用 下面的小程序来验证: 1 public class JavaByte 2 { 3 public static void main(String[] args) 4 { 5 byte b = 0; 6 for ( int i = 0; i <= 0xff; ++i ) 7 { 8 b = (byte)i; 9 System.out.print(" "+i+":"+b+", "); 10 } 11 } 12 } 当收到(0xC7B0)这个GBK字符时,要判断 0x81 <= 0xC7 <= 0xFE 是否成立,实际变成判断 -127 < -57 < -2,唔,万幸,可以直接比较 low < ch < high。如果要判断 0x00 <= 0xC7 <= 0x80 (ASC Char),这回麻烦了,变成判断 (0 <= -57 <= 127) || ( 0x57 == -128 )。比较简单的办法用 (b+256)%256的办法令其值回到0~255,或者用&0xff并赋给一个int。考虑到jvm里的byte其实也是32位的,所以在计划用byte的地方,直接用integer并不会有什么实际的损失,而 DataInputStream也提供了一个readUnsignedByte()方法返回的是int。所以真正的解决方案是忘掉byte,直接上 int。至于为什么java没有unsigned数据类型,照下面这个interview里Jams Golsing的意思,应该是java应该简单而unsigned算术过于复杂了会让大多数程序员产生误解误用:

㈥ JAVA如何将byte数组转变为BMP

//我在程序中打印出了每一个坐标的RGB值,你自己整理整理,求个平均值,
//放到你的那个二维数组里。

//自己用画图工具做一个小图片,注意图片的名字和程序中一致哦~

import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;

public class Test{
public static void main(String args[]) {
int[] rgb = new int[3];

File file = new File("a.bmp");
BufferedImage bi=null;
try{
bi = ImageIO.read(file);
}catch(Exception e){
e.printStackTrace();
}

int width=bi.getWidth();
int height=bi.getHeight();
int minx=bi.getMinX();
int miny=bi.getMinY();
System.out.println("width="+width+",height="+height+".");
System.out.println("minx="+minx+",miniy="+miny+".");

for(int i=minx;i<width;i++){
for(int j=miny;j<height;j++){
//System.out.print(bi.getRGB(jw, ih));
int pixel=bi.getRGB(i, j);
rgb[0] = (pixel & 0xff0000 ) >> 16 ;
rgb[1] = (pixel & 0xff00 ) >> 8 ;
rgb[2] = (pixel & 0xff );
System.out.println("i="+i+",j="+j+":("+rgb[0]+","+rgb[1]+","+rgb[2]+")");

}
}

}

}

㈦ java怎样把一个byte数组保存成图片到硬盘上

转成的图片 要么是个文件File 要么是个文件流. 那都只需要通过输入输出流往磁盘上写就行了

阅读全文

与javabyte转图片相关的资料

热点内容
程序员的十大股东 浏览:44
如何打开服务器不稳定的网页 浏览:676
服务器install是什么意思 浏览:755
pmon源码编译 浏览:560
网线加密不可上网什么原因 浏览:749
如何作动画的app 浏览:805
安卓十如何使用gg修改器 浏览:514
安卓手机怎么更新zenly 浏览:329
福美来二代压缩机 浏览:569
程序员那么可爱女主手表 浏览:81
无法开机命令符 浏览:44
矩阵数据如何加密 浏览:348
单片机移两位指令 浏览:703
mysqlcmd清屏命令 浏览:662
安卓网络慢怎么提速 浏览:115
车子解压还是解压 浏览:844
华为相机储存文件夹 浏览:640
c语言编程软件cf 浏览:927
秋月之光服务器地址大全 浏览:603
只复制文件夹中的小文件 浏览:819