将 byte[] 转换为字符串

2023-12-11

我有一个长度为 17 个字节的 byte[] 类型的字节数组,我想将其转换为字符串,并希望将此字符串用于另一次比较,但我得到的输出不是要验证的格式,我正在使用下面的方法进行转换。我想输出为易于验证的字符串,并给出相同的字符串进行比较。

    byte[] byteArray = new byte[] {0,127,-1,-2,-54,123,12,110,89,0,0,0,0,0,0,0,0};
    String value = new String(byteArray);
    System.out.println(value);

输出:����{nY


它是什么编码?您应该明确定义它:

new String(byteArray, Charset.forName("UTF-32"));  //or whichever you use

否则结果是不可预测的(从String.String(byte[])构造函数 JavaDoc):

通过使用平台的默认字符集解码指定的字节数组来构造一个新的 String

顺便说一句,我刚刚尝试过 UTF-8、UTF-16 和 UTF-32 - 都会产生虚假结果。长系列的0让我相信这实际上不是文本。您从哪里获得这些数据?

更新:我已经尝试过all我的机器上可用的字符集:

for (Map.Entry<String, Charset> entry : Charset.availableCharsets().entrySet())
{
    final String value = new String(byteArray, entry.getValue());
    System.out.println(entry.getKey() + ": " + value);
}

并且没有编码产生任何接近人类可读文本的内容...您的输入不是文本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 byte[] 转换为字符串 的相关文章

随机推荐

  • 使用 angularjs 创建 Windows 通用应用程序

    如何使用 angularjs 创建 Windows 通用应用程序 我使用 Visual Studio 创建了一个通用 Windows 应用程序 添加了 Angular 脚本 出于测试目的 我使用 Bower 手动和 NuGet 以不同方式尝
  • Angular4 中手风琴菜单数据中缺少循环 API 响应时

    我正在绑定手风琴菜单中的 api 响应 json 这里一切正常 但在手风琴中我有类别 组和子组 在category中有一个值是json 组中有 4 个值 但在我的例子中它只绑定一个 每个组有2个子组 这里我附上了我的案例的工作示例 请参考这
  • Linux 套接字上的 SO_SNDBUF 和 SO_RCVBUF

    我正在编写一个客户端服务器应用程序 简单来说 服务器可以为每个客户端使用 UDP 或 TCP 我希望 TCP 客户端和 UDP 客户端都打印默认值SO SNDBUF and SO RCVBUF 但是当我在连接建立之前打印 sndbuf 和
  • 在 PHP 中通过 GSM 调制解调器建立和接听电话

    我有一个基于 php 构建的 CRM 客户关系管理软件 并在本地主机 Windows XP 系统 上运行 这包含我的客户列表 我希望能够直接从我的 CRM 致电这些客户并保留相同的日志 通话时间 通话时长和通话录音 对于来电 我应该能够将其
  • Zsh:Conda/Pip 安装命令未找到

    所以我安装了Anaconda一切正常 安装后我决定切换到oh my zsh 我现在得到 zsh command not found conda 当尝试使用时pip or conda安装 echo ZSH VERSION 5 0 5 我已经添
  • Tensorflow - GPU 专用内存与共享内存

    Tensorflow 只使用专用 GPU 内存还是也可以使用共享内存 我还运行了这个 从tensorflow python client导入device lib device lib list local devices 名称 设备 CPU
  • Outlook 2007 插件:如何删除 mailItem 的特定用户属性

    我正在 Outlook 2007 中开发实用程序应用程序 我可以为特定邮件项目添加用户属性 i myMailItem UserProperties Add ParentMailRecipients Outlook OlUserPropert
  • 在每个 nt-h 数组元素之后插入新元素

    我有一个名为a我想在每个之后插入一个元素nt h数组的元素a 例如 我想把字符串XXX每个之后3数组的元素a结果得到一个新数组b如下一个示例所示 let a undefined 0 ee false null Date true z gt
  • pandas 日期时间给出错误的输出

    我正在使用带有日期列的 pandas 数据框 我已使用 pandas pd to datetime 将此列的 dtype 从对象转换为日期时间 Input 0 30 11 2019 1 31 12 2019 2 31 12 2019 3 3
  • 嵌套通配符

    发现有关无界通配符的事实让我很恼火 例如 public class Test private static final Map
  • 当应用程序在 Firebase 后台运行时如何处理通知

    这是我的清单
  • npm 安装失败,并显示“error-ex@^1.3.1”不在 npm 注册表中

    npm 安装失败并出现以下错误 Installing packages npm ERR code E404 npm ERR 404 Not Found GET https registry npmjs org error ex npm ER
  • 读取 .fasta 序列以提取核苷酸数据,然后写入 TabDelimited 文件

    在继续之前 我想请读者参考我之前使用 Perl 时遇到的问题 因为我是这一切的初学者 以下是我这几天发的帖子 按时间顺序排列 如何平均制表符分隔数据中的列值 Solved 为什么我在输出文件中看不到计算结果 Solved 使用 fasta
  • “toFixed()”对于某些数字无法正常工作

    Number toFixed 对于某些号码无法正常工作 例如 7 795 toFixed 2 gt 7 79 Instead it should display 7 80 8 895 toFixed 2 gt 8 89 Instead it
  • 我可以为 iCloud 的“文档目录”添加不备份吗

    我读过 我可以使用 ios 5 1 及更高版本将文件夹标记为 不备份 属性 据我了解 在这种情况下 目录的所有内容都将从备份中排除 在我的应用程序中 我们需要从备份中排除文档目录中的所有文件 可以在应用程序执行期间从文档中添加或删除文件 我
  • 在kivy中的两个屏幕类之间传递变量

    我有两个屏幕类ScreenOne and ScreenTwo我想在它们之间传递一个值 我正在使用 ScreenManager 并且正在使用 ScreenTwo 切换到 self manager current screen2 我想在不使用
  • com.firebase.client.ServerValue.TIMESTAMP 响应什么?

    我正在尝试在网络上使用 Firebase 构建聊天应用程序 并创建 Android 客户端 在我的网络应用程序中 我将 Firebase 服务器的时间戳与消息一起发送 但我在 Android 上似乎遇到了一些麻烦 使用 Firebase 的
  • ParseExact 将字符串解析为 DateTime 失败

    Nov 8 1 44 当我使用这段代码时 它失败了 string DD Nov 8 1 44 try DateTime ParseExact DD MMM dd HH mm CultureInfo InvariantCulture catc
  • gnuplot:将列标题设置为标签

    是否有机会将数据文件列的标题设置为标签 而不是键 我的数据文件有 5 或 6 列 每列上方有一个标题 现在我想将列标题与set label命令 这可能吗 On a 类unix系统 the head命令帮助 header system hea
  • 将 byte[] 转换为字符串

    我有一个长度为 17 个字节的 byte 类型的字节数组 我想将其转换为字符串 并希望将此字符串用于另一次比较 但我得到的输出不是要验证的格式 我正在使用下面的方法进行转换 我想输出为易于验证的字符串 并给出相同的字符串进行比较 byte