当前位置: 首页 > 面试题库 >

UTF-8编码与Base-64编码

孙梓
2023-03-14
问题内容

我想编码一个可能是图像或任何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 );

使用Base-64(使用Apache的commons.codec jar

byte[] b =Base64.encodeBase64(str.getBytes()); //Encoding  base 64
        Base64.decodeBase64(b); // Decoding with Base 64

问题答案:

UTF-8是一种 文本 编码-一种将 文本 编码为二进制数据的方式。

Base64在某些方面是相反的-它是一种将 任意二进制数据 编码为ASCII文本的方式。

如果 您需要将任意二进制数据编码为文本,则可以使用Base64-您 不要 试图将任意二进制数据视为UTF-8编码的文本数据。

但是,您很可能一开始就可以将文件作为二进制数据传输到服务器-这取决于您使用的传输方式。



 类似资料:
  • 问题内容: 我想从请求中获取参数(带有重音符的字符),但是它不起作用。我尝试使用,但也没有用。 我知道返回正确的字符,但不起作用! 有人有主意吗? 问题答案: Paul的建议似乎是最好的做法,但如果要解决此问题,则根本不需要URLEncoder或URLDecoder: 更新: 由于获得了很多选票,我想强调BalusC的观点,即这绝对不是解决方案。充其量是一种解决方法。人们不应该这样做。 我不知道是

  • 问题内容: 我正在用python做一些脚本。我创建一个保存在文件中的字符串。这个字符串有很多数据,来自目录的树状结构和文件名。根据convmv的介绍,我所有的树状结构都是UTF-8。 我想将所有内容都保留在UTF-8中,因为之后我将其保存在MySQL中。现在,在UTF-8的MySQL中,我遇到了一些字符问题(例如é或è-我是法语)。 我希望python始终将字符串用作UTF-8。我在互联网上阅读了

  • 本章是由 Alex Cabal 最初撰写在 PHP Best Practices 中的,我们使用它作为进行建议的基础。 这不是在开玩笑。请小心、仔细并且前后一致地处理它。 目前,PHP 仍未在底层实现对 Unicode 的支持。虽然有很多途径可以确保 UTF-8 字符串能够被正确地处理,但这并不是很简单的事情,通常需要对 Web 应用进行全方面的检查,从 HTML 到 SQL 再到 PHP。我们将

  • 问题内容: 这个问题已经在这里有了答案 : UTF-8贯穿始终 (15个答案) 5年前关闭。 寻求 我正在寻找具有重音符号的行。列()的编码为。 编码 以下查询使用phpMyAdmin 返回: 以下显示期望值(称为函数): 显示的值: 然后使用以下代码对数组进行编码: 问题 Web浏览器收到以下值: 代替: (或等效的编码形式。) 题 文档指出可以在UTF-8上使用。我可以看到将值从LATIN1编

  • 问题内容: 有谁知道如何使用Base64在Base64中解码和编码字符串。我正在使用以下代码,但无法正常工作。 问题答案: 第一: 选择一种编码。通常,UTF-8是一个不错的选择。坚持绝对对双方都有效的编码。除了UTF-8或UTF-16之外,很少使用其他东西。 传输端: 将字符串编码为字节(例如) 使用该类将字节编码为base64 传输 接收端: 接收 使用该类将解码为字节 将字节解码为字符串(例