Tag: 解码

从图像中检测并解码多个2d(Datamatrix,QRcode)

我正在开展一个项目,包括将图像文件作为输入放在我的桌面上,然后检测和解码所有存在的条形码,包括1D和2D。 我一直在使用zxing,在GenericMultipleBarcodeReader的帮助下,我能够从图像中读取多个1D条形码。 但是,它无法检测到二维条形码。 但是,如果我裁剪2D条形码并分别输入这个裁剪部分,它会检测并解码它没有任何问题。 因此,如果我的图像有2个1D条形码和2D条形码,我的输出只包含解码的2个1D条形码。 我也尝试过使用ByQuadrantReader,但这也不起作用。 我的代码: LuminanceSource source = new BufferedImageLuminanceSource(image); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Result[] result; HashMap hints = new HashMap(); hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); try { result = new GenericMultipleBarcodeReader(new MultiFormatReader()).decodeMultiple(bitmap, hints); } catch (ReaderException re) { return re.toString(); } List strings = new ArrayList(); for (Result r: result) { strings.add(r.getText()); } […]

使用Java将BinHex文件转换为普通文件

我有一个binhex文件。 应使用java代码将此文件转换为普通可读文件。 我在这里发现了类似的问题, 使用java代码解码Binhex 但答案是行不通的。 我尝试了Base64,该文件被转换为其他一些人类无法读取的格式。 请帮我解决这个问题。 我试过的代码如下 File f = new File(“Sample.pdf”); Base64 base64 = new Base64(); byte[] b = base64.decode(getBytesFromFile(f)); FileOutputStream fos = new FileOutputStream(“Dcode.pdf”); fos.write(b); fos.close(); public static byte[] getBytesFromFile(File file) throws IOException { InputStream is = new FileInputStream(file); long length = file.length(); byte[] bytes = new byte[(int)length]; int offset = 0; […]

将字节数组转换为字符串然后再转换回字节数组时,为什么长度不同?

我有以下Java代码: byte[] signatureBytes = getSignature(); String signatureString = new String(signatureBytes, “UTF8”); byte[] signatureStringBytes = signatureString.getBytes(“UTF8”); System.out.println(signatureBytes.length == signatureStringBytes.length); // prints false 问:我可能误解了这一点,但我认为new String(byte[] bytes, String charset)和String.getBytes(charset)是反向操作? 问:作为后续工作,将byte []数组作为String传输的安全方法是什么?

高效解码二进制和文本结构(数据包)

背景 有一个名为Wireshark的着名工具。 我已经使用了很多年了。 这很棒,但性能是问题所在。 通用使用场景包括若干数据准备步骤,以便提取稍后要分析的数据子集。 如果没有这一步,则需要几分钟才能进行过滤(Wireshark旁边的大痕迹无法使用)。 实际的想法是创建一个更快,更平行,更高效的更好的解决方案,用作数据聚合器/存储。 要求 实际要求是使用现代硬件提供的所有电源。 我应该说有一个不同类型的优化空间,我希望我在上层做得很好,但技术是现在的主要问题。 根据目前的设计,有几种类型的包解码器(解剖器): 交互式解码器 :解码逻辑可以在运行时轻松更改。 这种方法对协议开发人员非常有用 – 解码速度并不重要,但灵活性和快速结果更为重要 可嵌入的解码器 :可以用作库。这种类型应该具有良好的性能,并且足够灵活,可以使用所有可用的CPU和内核 解码器即服务 :可以通过干净的API访问。 这种类型应提供最佳的品种性能和效率 结果 我目前的解决方案是基于JVM的解码器。 实际的想法是重用代码,消除移植等,但仍然具有良好的效率。 交互式解码器 :在Groovy上实现 可嵌入解码器 :在Java上实现 解码器即服务 :Tomcat +优化+可嵌入解码器包装到servlet中(二进制输入,XML输出) 需要解决的问题 Groovy提供了强大的function和一切,但在这种特殊情况下运气表现力 将协议解码为树结构是一个死胡同 – 太多的资源被浪费掉了 内存消耗有点难以控制。 我做了几次优化但仍不满意分析结果 带有各种铃声和口哨声的Tomcat仍然会引入很多开销(主要是连接处理) 我在各地使用JVM做得对吗? 您是否看到了实现最初目标的任何其他优秀和优雅的方法:获得易于编写的高度可扩展且高效的协议解码器? 协议,结果格式等不固定。

在Java中给定Color对象获取相应的hex颜色代码的方法?

我已经检查了Color的Java类文档,发现我可以使用Color.decode();从hex代码字符串(eg “#FFFFFF”)生成一个Color对象Color.decode(); 方法。 我想为我正在处理的项目实现反向过程,但似乎没有为此类内置的方法。 是否有捷径可寻?

Java从Servlet读取未解码的URL

我们假设我有像’=&?/;#+%’这样的字符串作为我url的一部分,让我们这样说: example.com/servletPath/someOtherPath/myString/something.html?a=b&c=d#asdf 其中myString是上面的字符串。 我编写了关键部分,因此URL看起来像 example.com/servletPath/someOtherPath/%3D%26%3F%2F%3B%23%2B%25/something.html?a=b&c=d#asdf 到现在为止还挺好。 当我在servlet中并且我读取request.getRequestURI() , request.getRequestURL()或request.getPathInfo() ,返回的值已经被解码,所以我得到像strilng一样 someOtherPath/=&?/;#+%/something.html?a=b&c=d#asdf 我无法区分真正的特殊字符和编码字符。 我通过完全禁止上面的字符解决了特殊的问题,这在这种情况下有效,但我仍然想知道有没有办法在servlet类中获取未解码的URL。 另一个编辑:当我昨晚遇到这个问题时,我太累了,无法注意到真正发生的事情,这更奇怪! 我有servlet映射,比如/ servletPath / *之后,我可以放任何我想要的东西,并根据路径的其余部分让我的servlet响应, 除非路径中有%2F。 在那种情况下, 请求永远不会访问servlet ,我得到404! 如果我把’/’代替%2F它可以正常工作。 我正在Linux上运行Java 1.6.0-04上的Tomcat 6.0.14。

如何在Java环境中解码H.264video帧

有谁知道如何在Java环境中解码H.264video帧? 我的网络摄像机产品支持RTP / RTSP Streaming。 我的网络摄像机提供服务标准RTP / RTSP,它还支持“RTP / RTSP over HTTP”。 RTSP:TCP 554 RTP启动端口:UDP 5000

java如何解码获取url参数收到抛出BeanParam

我收到了对此Web服务的GET响应 @GET @Path(“/nnnnnn”) public Response pfpfpfpf(@BeanParam NNNNNN n) NNNNNclass有: @QueryParam(“parameter”) private String parameter; 对于该parameter有一个get和set。 我在一个带有查询参数的get上发送请求,它正在自动绑定到我的选项NNNNN,一切都很棒。 但是,现在我在查询url中发送日语字符串。 我在发送之前用UTF-8对参数进行编码,我必须使用UTF-8解码它们。 但我的问题是我应该在哪里调用URLDecoder? 我试图在该参数的getter中调用它,但它不起作用,我一直有类似C3%98%C2%B4%C3%98%C2而不是日文字符

如何在Java中进行LZW解码?

我有一个数据库,其中包含存储为二进制blob的图片数据。 文档说数据是使用LZW编码的。 我认为我可以使用Java库中的Zip或GZip输入流对其进行解码,但它不起作用 – 我得到一个例外,表示数据的格式不正确。 从我读过的,库使用DEFLATE,这不是LZW。 另外,我已经了解了使用LZW算法的一些许可问题。 我可以使用什么来解码数据? 有图书馆吗? 我必须自己实施吗? 许可问题怎么样?

解码base64字符串Java 5

是否有直接使用JAVA 1.5 LIBRARIES解码base64字符串的方法? 由于Windows和Mac OS X之间的跨平台兼容性问题,我必须使用Java 1.5(只有Mac 10.5支持Java 1.6,低于10.5的所有内容都默认使用Java 1.5)。 对象“sun.misc.Base64Decoder”存在于Java 6中,但不存在于Java 5中。