java 16进制byte数组 转化成UTF-8格式字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 16进制byte数组 转化成UTF-8格式字符串相关的知识,希望对你有一定的参考价值。

需求:一个16进制的byte数组,把这个数组转化成utf-8格式的字符串

一个16进制的byte数组转化成utf-8格式的字符串的方法有以下几种:

    使用C语言,可以定义一个函数,将每个byte分成高4位和低4位,然后分别转换成对应的16进制字符,再拼接起来。

    使用Java语言,可以使用Integer.toHexString()方法,将每个byte转换成两个16进制字符,再拼接起来。

    使用Python语言,可以使用binascii.hexlify()方法,将byte数组转换成16进制字符串。

    : 十六进制元素数组与字符串相互转换(C语言)_c语言16进制数组转换字符串_wangqingchuan92的博客-CSDN博客 : java中byte数组与十六进制字符串相互转换 - 腾讯云开发者社区-腾讯云 : python - How to convert a byte array to a hex string in Python? - Stack Overflow

参考技术A byte bytes[] = '1','2','3';
String str = new String(bytes,"utf-8");本回答被提问者采纳

java时间转换 0点被转化成24点

public static String getDateTime()
Date d = new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd kk:mm:ss ");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
return sdf.format(d);

这个是我转化时间的方法,出现了问题。
当时间为00:10:00时,会被转化成24:10:00
这个是怎么回事。如何写才能变成00:10:00
字符串替换就不要发了。

参考技术A         Calendar monEight = Calendar.getInstance();
        monEight.set(Calendar.HOUR_OF_DAY, 0);
        monEight.set(Calendar.MINUTE, 10);
        monEight.set(Calendar.SECOND, 0);
        monEight.set(Calendar.MILLISECOND, 0);
        
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String effectiveTime = format.format(monEight.getTime());
        System.out.println("凌晨:" + effectiveTime);

凌晨:2014-03-24 00:10:00

参考技术B 请使用 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
而不是 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss ");本回答被提问者采纳

以上是关于java 16进制byte数组 转化成UTF-8格式字符串的主要内容,如果未能解决你的问题,请参考以下文章

Java 将字节转化为16进制字符串

怎么将4字节16进制转化成浮点数

java怎么将二进制转化成字符串

JAVA里16进制和字节数组互转

Python 16进制字节数组转字符串

java中,如何将double类型数据转换为16进制字符串或者是16进制字节数组