5 java
我想编码一个文件,它可能是图像或任何pdf并将其发送到服务器.我必须遵循哪种类型的编码和解码.(服务器和客户端都在我们公司.我们可以在两个地方编写逻辑).默认情况下,java支持UTF-8编码.并使用Base-64编码我必须导入外部jar.对于简单的文本,两种方式都很好.我正在使用tcp套接字编程.
使用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 );
Run Code Online (Sandbox Code Playgroud)
使用Base-64(使用commons.codec jar的apache
byte[] b =Base64.encodeBase64(str.getBytes()); //Encoding base 64
Base64.decodeBase64(b); // Decoding with Base 64
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 36
UTF-8是一种文本编码 - 一种将文本编码为二进制数据的方法.
Base64在某种程度上是相反的 - 它是一种将任意二进制数据编码为ASCII文本的方法.
如果您需要将任意二进制数据编码为文本,Base64是可行的方法 - 您不能尝试将任意二进制数据视为UTF-8编码的文本数据.
但是,您可能首先将文件作为二进制数据传输到服务器 - 这取决于您正在使用的传输.
| 归档时间: |
|
| 查看次数: |
16436 次 |
| 最近记录: |