`
午刀十
  • 浏览: 35006 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

C#二进制图片转Java的问题

    博客分类:
  • java
阅读更多

  最近在处理一个图片需求时,碰到了一个小问题。由于图片是通过字节数组从C#传到java的,而C#的byte是没有符号位的,从0到255,java的则有符号位的,从-128~127。这样在从c#传递到java的时候,就会出现字节大小过长的问题。
  在此之间,曾想过用截取或者运算的方法获取,均以失败告终。最后,转念一想,其实对于机器而言,既然C#和java的byte都是8位,而且都是二进制的,那么不管他们的十进制在c#和java里的值是多少,只要他们的8位二进制一样,实际上这两个数字是一致的。
  这样一想,问题就简单多了。为了保障能正确接收C#传过来的字节数组,我用int数组接收。成功接收后,我再把int数组强制转化为byte数组,就大功告成了。虽然强制转化会丢失精度,但是实际上我们也只要int的前8位(也就是从c#接收的byte)就可以了。这样接收后,就成功把将C#生成的图片二进制转化成java的图片二进制了,最后,再将二进制转化成图片就可以了。附上转化为图片较为粗略的代码:
   
    public static String byteToImage(byte[] byte1)
    {
    	String fileName = System.currentTimeMillis()+ ".jpg";
    	try {   
    		File filePic = new File(“E://”+fileName);
    		if(!filePic.getParentFile().isDirectory()){
    			(new File(filePic.getParent())).mkdirs();
    		}	        
    		FileOutputStream fos =new FileOutputStream(filePic);
    		fos.write(byte1);
    		fos.flush();
    		fos.close();

        } catch (IOException e) {   
            e.printStackTrace();   
        }   
        return fileName;
    } 

  
分享到:
评论

相关推荐

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

    1. **连接数据库**:使用合适的数据库驱动(例如Java的JDBC,Python的psycopg2等)连接到数据库,获取存储图片的二进制字段。你需要知道数据库的URL、用户名、密码以及查询图片的SQL语句。 2. **读取二进制流**:...

    java_十进制数转换为二进制,八进制,十六进制数的算法

    在Java编程语言中,将十进制数转换为二进制、八进制或十六进制是常见的数据处理任务,尤其是在计算机科学与信息技术领域。本文将深入探讨如何使用Java实现这些转换,包括算法原理和具体代码实现。 ### 十进制转二...

    16进制图片转换

    总的来说,16进制图片转换是一项涉及图像处理、二进制数据操作和文件格式理解的技术。它在软件开发、数据分析以及某些形式的图像加密和传输中都有应用。对于学习者来说,掌握这些概念有助于深入理解计算机如何存储和...

    SqlServer与Oracle保存与读取图片二进制流

    当涉及到存储非结构化数据,如图片时,通常会以二进制大对象(BLOB)的形式来处理。本文将深入探讨如何在SQL Server 2008和Oracle数据库中保存和读取图片的二进制流。 1. **二进制流**:二进制流是一种数据表示方式...

    将图片存放进数据库(转换成二进制流)

    "将图片存放进数据库(转换成二进制流)"这个主题,就是关于如何将图像文件以二进制形式存储到数据库中,然后从数据库中读取并以流的形式展示出来。下面我们将深入探讨这一技术。 首先,我们需要理解什么是二进制流...

    blob,将byte二进制转成pdf

    标题中的“blob,将byte二进制转成pdf”指的是在IT领域中处理二进制数据(Blob)并将其转换为PDF文档的过程。Blob在计算机科学中通常代表Binary Large Object,用于存储大块非结构化的数据,如图像、音频、视频或者在...

    文件转换为二进制流

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

    打开,保存,转化图片

    将图片转换为字节数组是将图片数据编码成二进制形式的过程。这在需要在网络上传输图片或者存储到数据库时非常有用。转换过程包括读取图片文件,然后逐字节读取其内容。例如,Java中可以使用`Files.readAllBytes()`...

    图片以二进制存取数据库

    1. **读取图片文件**:使用编程语言(如Java、Python、C#)的内置函数读取图片文件,将其转换为二进制数据流。 2. **连接数据库**:建立与数据库的连接,这通常需要数据库驱动程序(如JDBC、ODBC)和正确的连接参数...

    上传下载二进制流文件

    二进制流是指一系列连续的二进制数据,它可以是任何类型的数据,如图片、音频、视频或文本文件等。在C#中,System.IO命名空间提供了一系列类来处理二进制流,如FileStream、MemoryStream和NetworkStream等。 **文件...

    Word文档转换为二进制流

    让你轻松搞定word到二进制流的转换,你值得拥有的技术,总会用到的,看见了就收藏一下吧

    dotnet C# 基础二进制处理 二进制数组与结构体的互转.rar

    本文档将深入探讨C#中的二进制处理,特别是如何在二进制数组和结构体之间进行转换。这在诸如网络通信、文件读写、序列化等场景下特别有用。 二进制数组(byte数组)是存储原始二进制数据的基本数据结构。在C#中,`...

    修改图片二进制数据到指定表指定字段.zip

    1. **读取图片数据**:通常,图片的二进制数据可以通过编程语言(如Python、C#或Java)读取,然后转换为字节流。例如,Python的`PIL`库可以打开图片并将其转化为字节对象。 2. **连接数据库**:使用SQL Server的...

    SQLServer 二进制生成文件

    本话题将深入探讨如何在SQL Server中操作二进制文件,并使用C#编程语言进行导出。 首先,SQL Server中的二进制数据通常存储在`VARBINARY(MAX)`或`BLOB`(Binary Large Object)类型的列中。这类字段设计用来容纳...

    redis存储二进制数据测试代码

    在实际应用中,存储和处理二进制数据是常见的需求,比如图片、音频、视频的元数据或者数据库的BLOB字段等。本文将深入探讨如何在Redis中存储和操作二进制数据,并通过测试代码来展示具体实现。 首先,Redis中的`SET...

    二进制文件合并工具

    1. **二进制文件的结构**:二进制文件的结构通常由其特定的格式定义,比如JPEG图片文件包含了图像的压缩数据,而.exe可执行文件则包含机器语言指令和元数据。不同的文件类型有各自的头标、数据区和可能的尾部信息,...

    C#加密 解密对接java 的加密AES/CBC/PKCS7Padding 转16进制.rar

    为了方便在文本格式下传输和查看加密后的数据,通常会将二进制数据转换为16进制字符串。在C#中,可以使用`BitConverter.ToString()`方法,然后将中间的破折号去掉,得到无间隔的16进制字符串。在Java中,可以使用`...

    基于IEEE754标准 将一个十六进制转换为十进制浮点数

    IEEE754标准是一个全球广泛采用的浮点数表示法,它定义了如何用二进制形式来存储、运算和交换浮点数。这个标准对于理解和转换不同进制之间的浮点数至关重要。本篇文章将深入探讨基于IEEE754标准将十六进制转换为十...

    CE二进制运算器正式版

    然而,随着Java平台的普及和跨平台优势的凸显,开发者决定将CE二进制运算器移植到Java平台上。Java以其“一次编写,到处运行”的特性,能够运行在不同的操作系统上,这将扩大CE二进制运算器的适用范围,使其用户群体...

    ReadImages_sourcel1r_dieq2j_读取SQL数据库二进制图片_

    本文将深入探讨如何从SQL数据库中读取存储的二进制图片,并将其转换为可本地查看的文件。 首先,我们需要了解在SQL数据库中存储二进制数据的基本概念。通常,我们会使用BLOB(Binary Large Object)类型来存储图片...

Global site tag (gtag.js) - Google Analytics