Java 中怎样将 bytes 转换为 long 类型?

这篇具有很好参考价值的文章主要介绍了Java 中怎样将 bytes 转换为 long 类型?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  将bytes 转换为long类型:

  第一种方式:

    String 接收 bytes 的构造器转成 String,再 Long.parseLong;

    但此种情况需要注意:字节数组中的每个字节都必须是有效的数字字符。如果字节数组包含非数字字符,则会引发NumberFormatException异常。确保在调用Long.parseLong()之前验证输入的字符串是否符合预期。  

    可以根据ASCII对照表; 

 public static void main(String[] args) {
   // 十进制 byte
byte[] bytes = {49, 50, 51}; // 将字节数组转换为字符串 String str = new String(bytes); // 将字符串转换为长整型 long value = Long.parseLong(str); System.out.println(value); } 输出结果: 123

  

   第二种方式:

    创建 ByteBuffer 对象,并传入 byte字节数组,通过其方法获取到long值。

    但此种情况需要注意:在使用ByteBuffer转换字节数组之前,需要确保字节数组的长度足够包含一个long类型的值,否则会抛出BufferUnderflowException异常。

    可以根据ASCII对照表;

 public static void main(String[] args) {
    // 0x12 是一个表示十六进制数的标识符,它代表的是一个字节(Byte)。
    // 在计算机中,一个字节由8个二进制位组成,每个二进制位可以表示0或1,而每4个二进制位可以表示一个十六进制数。
    // 因此,0x12 表示的是二进制数 00010010,对应的十进制数是18。所以,0x12 可以表示一个字节(Byte)的值为 18。
    byte[] bytes = {0x12, 0x34, 0x56, 0x78, (byte) 0x9A, (byte) 0xBC, (byte) 0xDE, (byte) 0xF0};
    // 创建一个ByteBuffer对象,并传入字节数组
    ByteBuffer buffer = ByteBuffer.wrap(bytes);
    // 调用ByteBuffer的getLong方法获取long类型的值
    long value = buffer.getLong();
    System.out.println(value);
}
输出结果:
    1311768467463790320

 

 

文章来源地址https://www.toymoban.com/news/detail-541425.html

到了这里,关于Java 中怎样将 bytes 转换为 long 类型?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java基础之byte转换工具类

    2024年02月15日
    浏览(31)
  • java byte数组与int之间相互转换

    运算符 含义 说明 与 对应位都是1,结果为1,否则为0 | 或 对应位都是0,结果为0,否则为1 ~ 取反 每一位变相反位,即0变成1,1变成0 ^ 异或 对应位值相同,结果为0,否则为1 左移位 低位补0 右移位 保留符号位,0为正,1为负 无符号右移位 高位补0 位逻辑运算示例 A B AB A|B

    2024年04月14日
    浏览(59)
  • java Long 类型如何比较

    Java 中的 Long 类型可以使用下列方法进行比较: 使用 compareTo 方法: 使用三目运算符: 使用 Long.valueOf 和 equals 方法: 请注意,如果要比较两个 Long 对象的值,则应使用 equals 方法,而不是使用 == 运算符。

    2024年02月16日
    浏览(46)
  • Java 字节数组(byte[])和整型(int)的相互转换

          恰巧碰到了字节数组和整型的转换问题,特在此总结一下。将 int 按照小端法映射到 byte[] 中。即最低 8 位放在 byte[0] 中,依次类推。       这个实现起来比较简单,先保存最低的 8 位到 byte 数组中,然后不断的右移 8 位,每次保存低 8 位数据即可,参考代码:(

    2023年04月12日
    浏览(71)
  • Java中比较Long类型是否相等

    Java中,比较Long类型是否相等,可以使用“==”和“equals()”方法。 在Java中,\\\"==\\\"用于比较两个基本数据类型或两个引用数据类型是否指向同一对象。对于Long类型的封装类,由于它们的值在-128到127之间时会被缓存,因此这些值相同的Long型对象会指向同一个对象,使用\\\"==\\\"比较会

    2024年02月05日
    浏览(40)
  • Java中字符串与byte数组之间的转换方法

    在Java编程中,我们常常需要对字符串和byte数组进行转换。字符串一般是用来表示文本信息,而byte数组则是用来表示二进制数据,如图片、音频等。本文将详细介绍Java中字符串和byte数组之间的转换方法,包括将字符串转换为byte数组和将byte数组转换为字符串。 Java中字符串与

    2024年02月09日
    浏览(47)
  • Redis数据迁移过程,使用jedis客户端发送命令,需要注意string和byte类型的命令,如果使用的转换字符编码不一致,会导致丢数据

    string与byte来回转换,需要指定一样字符编码规则 详细原因请参考: 关于Java中bytes到String的转换-阿里云开发者社区   简单来说 (1)string和byte转换之间需要指定字符编码参数Charset.defaultCharset(),默认不指定的情况下,使用的是utf-8编码,所以一般情况下相互转换使用的都是同

    2023年04月09日
    浏览(90)
  • Java BigDecimal、Integer、Long、Double类型数值累加求和

    注意 Double小数点失真问题解决 : 先把Double转为BigDecimal,再求和。代码如下 : 如果此篇文章有帮助到您, 希望打大佬们能 关注 、 点赞 、 收藏 、 评论 支持一波,非常感谢大家! 如果有不对的地方请指正!!! 参考1

    2024年02月02日
    浏览(45)
  • MySQL出现Specified key was too long; max key length is 3072 bytes解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。   本文主要介

    2024年02月16日
    浏览(40)
  • Failed to convert value of type ‘java.lang.String‘ to required type ‘java.lang.Long‘总是说请求参数类型错误

    今天犯了一个超级无语的错误 写好接口之后总是进不去接口,还总是说报错: 我测试了实现类和Mapper数据都能正常查询,打了debug接口就进不去! 一试就说我参数类型错误。 可是我的接口明明都没有写参数,灵异事件? 后来才发现原来是我前端发请求的时候路径写错了。

    2024年01月25日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包