【发布时间】:2011-10-11 03:27:03
【问题描述】:
我想对可能是图像或任何 pdf 的文件进行编码并将其发送到服务器。我必须遵循哪种类型的编码和解码。 (服务器和客户端都在我们公司。我们可以在这两个地方编写逻辑)。 UTF-8 编码 在 java 中默认支持。要使用 Base-64 编码,我必须导入外部 jar。对于简单的文本,两种方式都可以正常工作。我正在使用tcp socket编程。
使用 UTF-8 编码
String str = "This is my Sample application";
String urlEncodedData = URLEncoder.encode(str, "UTF-8"); // Encoding with UTF-8
System.out.println("..after URL Encodingencoding..."+urlEncodedData );
String retrievedData = URLDecoder.decode(urlEncodedData , "UTF-8");// Decoding with UTF-8
System.out.println("..after decoding..."+retrievedData );
使用 Base-64(使用 apache 的 commons.codec jar
byte[] b =Base64.encodeBase64(str.getBytes()); //Encoding base 64
Base64.decodeBase64(b); // Decoding with Base 64
【问题讨论】:
-
你在比较苹果和梨。 Base64 只是用来表达数据的数字基数。 UTF-8 是一种编码方案,它在字节流中对数字(被认为是代码点)进行编码。
-
查看问题here。它被标记为 C#,但编码信息的应用方式相同。
-
为什么要/需要对二进制文件(PDF 和图像)进行编码?不能直接发到服务器吗?
-
它不仅是一个 abot pdf,我也有图像文件。如果文件很大,我将按块发送文件
标签: java