当前位置: 首页 > 知识库问答 >
问题:

在Java中指定getBytes编码的重要性

陆宝
2023-03-14

3:String base64EncodedMessage=新字符串(Base64.EncodeBase64(encryptedMsgBytes));

我需要使用Http Post在web上发送这些信息&将在另一端接收和处理(解密,从base64转换等)。

根据阅读文章,推荐的做法是在第2行使用.getBytes(“UTF-8”),即message.getBytes(“UTF-8”)

4:字符串base64EncodedMsg=

5:byte[]base64EncodedMsgBytes=base64.encodedbase64(base64EncodedMsg));

6:Byte[]decryptedMsgBytes=decrypt(aesKey,“AES”,Base64.DecodeBase64(base64EncodedMessage);

如果它确实返回UTF-16,那么是否需要在另一端使用新的字符串(decryptedMsgBytes,“UTF-8”)?

共有1个答案

邢寒
2023-03-14

不指定编码的.getBytes()方法不会总是返回UTF-16字节吗?

这是不正确的。根据Javadoc,它使用平台的默认字符集:

使用平台的默认字符集将此字符串编码为一个字节序列,并将结果存储到一个新的字节数组中。

 类似资料:
  • 问题内容: 我想将Java中的类转换为C#,大部分更改已经完成,但是我不确定这部分。我想转换以下代码行: 我已经试过了: 但是它不能正常工作,因为GetBytes()期望翻倍。我不确定将其转换为双精度是否可以解决问题,所以我想在这里询问。 问题答案: 根据您的编码,您可以执行以下操作: 有关参考,请参见http://msdn.microsoft.com/zh- cn/library/ds4kkd5

  • 指定文字编码 可指定文字编码。一般情形下会自动判别,并无特意指定的必要。 1. 从选单列中选择[显示] > [文字编码]。 2. 选择希望指定的文字编码。 提示 仅可指定已开启网页的编码。于选择更新网页﹐或开启其他分页后﹐此指定即会自动解除。

  • 问题内容: 当前正在检索机器上安装的默认打印机以进行打印。我希望能够选择文档要使用的打印机。最好的方法是什么? 码: 问题答案: 在下面创建类,将其导入,然后在知道打印机名称的情况下尝试调用;如果您不知道可以访问哪些打印机,请调用一个包含所有可行的注册打印机名称的。 也可以查看我对这个SO问题的答案以获取更多详细信息:

  • 我正在收集一些指标,并希望基于进行聚合。 您认为我们应该关注的所有服务中的前五大(或更多或更少)运营是什么?或 个人服务是否有前5名(或更多或更少)?如果是,你能列出它们吗 提前感谢。

  • 本文向大家介绍在Android源码中编译出指定jar包的操作,包括了在Android源码中编译出指定jar包的操作的使用技巧和注意事项,需要的朋友参考一下 今天想把android源码/vendor/letv/frameworks/base/java下的源码编译成 framework-letv.jar供乐乐语音客户端使用,编译完后,发现jar包文件虽然生成了,但包里面并没有相关的源码class文件,

  • 问题内容: 我通过xmlrpc从我的一个客户那里获得的字符串有问题。他给我发送了两次编码的utf8字符串:(因此,当我在python中获取它们时,我有一个unicode对象,该对象必须再解码一次,但显然python不允许这样做。我注意到我的客户端但是我需要在修复之前先进行快速解决。 来自tcp转储的原始字符串: 它将转换为: 我们得到的最好的是: 结果是正确的字符串,它是: 但是,这很丑陋,不能在