UTF-8编码与Base-64编码
我想编码一个可能是图像或任何pdf的文件并将其发送到服务器。我必须遵循哪种类型的编码和解码。(服务器和客户端都在我们公司内。我们可以在两个地方都写逻辑)。Java默认情况下支持
。并使用 编码,我必须导入外部jar。对于简单的文本,两种方法都可以正常工作。我正在使用tcp套接字编程。
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 );
byte[] b =Base64.encodeBase64(str.getBytes()); //Encoding base 64 Base64.decodeBase64(b); // Decoding with Base 64
回答:
UTF-8是一种 文本 编码-一种将 文本 编码为二进制数据的方式。
Base64在某些方面是相反的-它是一种将 任意二进制数据 编码为ASCII文本的方式。
如果 您需要将任意二进制数据编码为文本,则可以使用Base64-您 不要 试图将任意二进制数据视为UTF-8编码的文本数据。
但是,您很可能一开始就可以将文件作为二进制数据传输到服务器-这取决于您使用的传输方式。
以上是 UTF-8编码与Base-64编码 的全部内容, 来源链接: utcz.com/qa/426427.html