0 0

怎么样将一个文件流转换为二进制的字符串?30

现在我需要通过将图片转换为二进行制的字符串的方式传输图片,将如何实现?请各位帮一下忙,谢谢!!!
OO 
2008年6月05日 10:55

17个答案 按时间排序 按投票排序

0 0

[flash=200,200][url][img][list]
[*]
引用
[u][i][b][/b][/i][/u]
[/list][/img][/url][/flash]

2015年1月06日 12:00
0 0

然后再把BY 转换成NEW STRING(BY)

2008年6月19日 18:44
0 0

public static byte[] getFileToByte(File file) {
byte[] by = new byte[(int) file.length()];
try {
InputStream is = new FileInputStream(file);
ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
byte[] bb = new byte[2048];
int ch;
ch = is.read(bb);
while (ch != -1) {
bytestream.write(bb, 0, ch);
ch = is.read(bb);
}
by = bytestream.toByteArray();
} catch (Exception ex) {
ex.printStackTrace();
}

return by;
}

2008年6月19日 18:36
0 0

用sun.misc.BASE64Encoder不错

2008年6月19日 17:32
0 0

php推荐用base64,5只支持那个

2008年6月18日 13:36
0 0

二进制的传输方式速度上慢啊
用对象传输啊

2008年6月17日 17:09
0 0

FormFile file = uploaldForm.getFile();
String filePath ;
try {
//取得上传的文件
InputStream stream = file.getInputStream();
//把文件读入
filePath = request.getRealPath("/upload");

//上传到指定的upload包中
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStream bos = new FileOutputStream(filePath + "/"
+ file.getFileName());

//建立一个上传文件的输出流
System.out.println(filePath + "/" + file.getFileName());
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);
//将文件写入服务器
}
bos.close();
stream.close();[align=left][/align]

引用


} catch (Exception e) {

e.printStackTrace();
return mapping.findForward("uploald");
}
request.setAttribute("file",  filePath + "\\" + file.getFileName());
return mapping.findForward("ok");

2008年6月17日 17:02
0 0

public String encode(InputStream in)throws IOException{
		sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
		byte[] data = new byte[in.available()];
		in.read(data);
		return encoder.encode(data);
	}
	
	public byte[] decode(String base64Str)throws IOException{
		sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
		return decoder.decodeBuffer(base64Str);
	}

2008年6月17日 16:15
0 0

Base64  可以在不同的平台, 特别是ISO8859编码系统中避免乱码问题.

2008年6月16日 21:07
0 0

你确定要用二进制 字符串 来传输图片? "01010101" 表示一个byte ?
这相当于用 8个byte 来传输一个 byte ,效率太低了

2008年6月16日 15:55
0 0

推荐base64,经过测试,没有问题。

2008年6月16日 13:26
0 0

读到文件 byte data[] ,然后用Base64编码得到字符串,接收方用Base64解码。

2008年6月16日 11:36
0 0

用Base64吧

2008年6月16日 10:23
0 0

FileInputStream uFile = new FileInputStream(fileName);
int i = uFile.available(); //TODO 得到文件大小
byte data[] = new byte[i];
uFile.read(data); //TODO 读数据
uFile.close();

2008年6月16日 09:05
0 0

你应该使用一种编码方式来转换。参考Base64编码,比较有效率,得到的字符串长度约为二进制数据的1.3倍。上面的人提供的方式转换起来会长得多。

2008年6月13日 21:52
0 0

2进制流?2进制字符串?

FileInputStream fs = new FileInputStream("c://bugs.jpg");
byte[] b = new byte[fs.available()];
fs.read(b);
fs.close();

for(Byte by:b){
  System.out.print(Long.toString((long)by,2));
}

2008年6月06日 16:39
0 0

FileInputStream fs   =   new   FileInputStream("c://bugs.jpg"); 
        byte[] b = new byte[fs.available()];
        fs.read(b);
        fs.close();

2008年6月05日 11:47

相关推荐

    文件转换为二进制流

    文本字符串与byte[], 整个物理文件与byte[], 物理文件内容与byte[], stream与byty[] 之间的相互转换。 从磁盘读取文件,将文件写入磁盘。

    jpg图片转换成十六进制字符文件

    描述中提到的“该程序主要用于将jpg图片的数据流转换为十六进制字符串”,这意味着有一个特定的程序或脚本,它可以读取jpg图片的原始二进制数据,然后将其转化为由0到9和A到F这些字符组成的十六进制序列。...

    Delphi字符串16进制互相转换

    接收时,将接收到的字节流转换为16进制字符串进行显示或进一步处理。 - 对于SOCKET通讯,数据的发送和接收类似,但通常涉及网络字节序(Big-Endian或Little-Endian)的转换,例如,使用`NetworkToHostLong`或`...

    将图片转成二进制并生成Base64编码字符串,再将二进制转换成各种图片

    本文将深入探讨如何将图片转换为二进制格式,然后生成Base64编码字符串,以及如何将这些字符串重新转换回图片。这个过程在很多场景下都有应用,比如在网络上传输图片数据,或者在数据库中存储图片。 首先,我们需要...

    C#文件2进制流转换

    要将文件转换为二进制流,我们可以打开一个`FileStream`,然后读取其内容到`byte[]`数组中。以下是一个示例: ```csharp using System.IO; string filePath = "path_to_your_file"; FileStream fileStream = new ...

    十六进制字符串和二进制流的转化

    提供的"HexBin"源码文件很可能是实现了以上过程的一个实用工具或函数库,它能够方便开发者在VC++环境中快速地在十六进制字符串和二进制流之间进行转换。通过学习和理解这段源代码,你可以更好地掌握这些基本概念,并...

    Base64转二进制文件,Base64 To File

    提供的文件列表中,`Base64_Convert.exe`很可能是一个执行程序,用于实现这个功能,即读取包含Base64编码的文本文件(如`Base64转二进制文件.b64`),并将其转换为二进制文件。`Base64转二进制文件.docx`和`Base64转...

    实现数据库二进制流转换成图片保存本地

    本文将深入探讨如何实现从数据库中的二进制流转换为图片,并将其保存到本地文件系统。 首先,我们需要了解二进制流的基本概念。在计算机科学中,所有数据最终都会被转化为二进制形式,即由0和1组成的序列。图片文件...

    js 显示base64编码的二进制流网页图片

    Base64编码是一种编码方法,它将二进制数据转换为ASCII字符串格式。这种编码方式主要适用于编码那些无法直接通过文本格式传输的数据,比如图片、音频、视频等二进制文件。Base64编码通过把每3个字节的二进制数据转换...

    Android 实现图片转二进制流及二进制转字符串

    这个方法将二进制流转换为十六进制字符串。 三、图片压缩 在 Android 中,我们可以使用 Matrix 对象来压缩图片。下面是一个示例代码: ```java private Bitmap compressBitmap(Bitmap bitmap) { Matrix matrix = ...

    二进制流转PDF

    JAVA二进制流转PDF 1 http接口接收到二进制流,如下,转换成Pdf文件保存到本地 %PDF-1.4 %���� 3 0 obj ...

    PB12.5 ---关于BLOB转换和数据之间的转换,及各进制之间的转换

    BLOB转为二进制字符 BLOB转为十六进制字符 2.生成BLOB Byte字节流转为BLOB Char字节流转为BLOB 二进制字符转为BLOB 十六进制字符转为BLOB 3.二进制 8位二进制转byte 二进制转十进制数 二进制转十六进制 4....

    php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串

    例如,如果你有一个包含图片数据的二进制字符串,你可以使用这个函数进行转换。例如: ```php $binary_data = file_get_contents('image.jpg'); // 获取图片的二进制数据 $hex_string = bin2hex($binary_data); /...

    二进制转换base64

    在base64_encode函数中,我们可以看到一个while循环,它将二进制数据分成三个字节的一组,并将其转换为四个字节的ASCII码。这个循环将继续直到所有的二进制数据都被转换为base64编码的字符串。 同时,我们还可以...

    labview实现16进制数据流转换为jpg图片的vi

    labview实现16进制数据流转换为jpg图片的vi

    易语言源码易语言字节集到二进制互转源码.rar

    2. **网络通信**:在网络编程中,数据通常以二进制流的形式传输,接收端需要将接收到的字节流转换为字节集,再进一步解析为所需的数据结构。 3. **数据解码编码**:在加密、解密或编码解码过程中,数据可能需要在...

    进制转换demo

    - `toBinaryString(int)`:将十进制整数转换为二进制字符串。 - `toOctalString(int)`:将十进制整数转换为八进制字符串。 - `toHexString(int)`:将十进制整数转换为十六进制字符串。 2. 其他进制转十进制: -...

    C#图片转换成二进制流并且保存到sql server数据库.pdf

    最后,我们使用GetString方法将二进制流转换成字符串。 二、将二进制流保存到SQL Server数据库 在C#中,可以使用SqlParameter类来将二进制流保存到SQL Server数据库。下面是一个简单的示例代码: ```csharp using ...

    将二进制流转换为其十进制值:尽管您可以更改它,但它将二进制流转换为一次 8 位的十进制值。-matlab开发

    例如,如果我们有一个二进制字符串`'10101010'`,我们可以调用`bin2dec('10101010')`来得到其对应的十进制值。如果二进制流包含超过8位,我们可能需要分段处理或者自定义函数来确保每次转换都是8位一组。 在提供的...

    socket传输16进制客户端

    这可以通过编程语言内置的函数实现,比如在Python中可以使用`int(hex_string, 16)`,将16进制字符串转换为整数,再用`bin()`函数将其转为二进制字符串。 3. **Socket创建与连接**: 创建Socket客户端通常包括两步...

Global site tag (gtag.js) - Google Analytics