首页 > 编程知识 正文

java字符串转hex(Java字符串转小写)

时间:2023-12-02 11:48:15 阅读:311360 作者:FGHC

本文目录一览:

  • 1、java String字符串转UTF-8 hexcode怎么转?
  • 2、java字符串转16进制
  • 3、java hex 字符串怎么转换

java String字符串转UTF-8 hexcode怎么转?

String s=new String("欲转换字符串".getBytes(),"utf-8");

String s=new String("欲转换字符串".getBytes("utf-8"),"utf-8");

其中

s.getBytes("UTF-8");

的意思是以UTF-8的编码取得字节

new String(XXX,"UTF-8");

的意思是以UTF-8的编码生成字符串

java字符串转16进制

1、写转换函数是必须的,目前Jdk中无现有类。

2、在不同的字符编码当中,汉字的对应的数值或者说编码值不一样,像GBK、Unicode肯定是不一样的。以Java默认的Unicode为例说明问题。

3、 一,得到字符串,

二,遍历每个字符,用char来接收,实为int值,或直接用int也可以。

三,Integer.toHexString(每个字符对应的int值);

四,前缀加个“0x”就可以了。

4、如果是其它类型的话,找到对应的字符和数值对应表就可以了。

不知可否解决问题了。

java hex 字符串怎么转换

private static String hexString = "0123456789ABCDEF";

public static void main(String[] args) {

System.out.println(encode("中文"));

System.out.println(decode(encode("中文")));

}

/*

* 将字符串编码成16进制数字,适用于所有字符(包括中文)

*/

public static String encode(String str) {

// 根据默认编码获取a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Ydn1D4nWDvuWN9mvRvnWDv0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHT4rjR3n101njc4PHnLrHTYPs" target="_blank" class="baidu-highlight"字节数组/a

byte[] bytes = str.getBytes();

StringBuilder sb = new StringBuilder(bytes.length * 2);

// 将a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Ydn1D4nWDvuWN9mvRvnWDv0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHT4rjR3n101njc4PHnLrHTYPs" target="_blank" class="baidu-highlight"字节数组/a中每个字节拆解成2位16进制整数

for (int i = 0; i bytes.length; i++) {

sb.append(hexString.charAt((bytes[i] 0xf0) 4));

sb.append(hexString.charAt((bytes[i] 0x0f) 0));

}

return sb.toString();

}

/*

* 将16进制数字解码成字符串,适用于所有字符(包括中文)

*/

public static String decode(String bytes) {

ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);

// 将每2位16进制整数组装成一个字节

for (int i = 0; i bytes.length(); i += 2)

baos.write((hexString.indexOf(bytes.charAt(i)) 4 | hexString

.indexOf(bytes.charAt(i + 1))));

return new String(baos.toByteArray());

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。