public static String toHexString(int i)以十六进制的无符号整数形式返回一个整数参数的字符串表示形式。
如果参数为负,那么无符号整数值为参数加上 232;否则等于该参数。将该值转换为十六进制(基数 16)的无前导 0 的 ASCII 数字字符串。如果无符号数的大小值为零,则用一个零字符 '0' (’\u0030’) 表示它;否则,无符号数大小的表示形式中的第一个字符将不是零字符。用以下字符作为十六进制数字: 0123456789abcdef
这些字符的范围是从 '\u0030' 到 '\u0039' 和从 '\u0061' 到 '\u0066'。如果希望得到大写字母,可以在结果上调用 String.toUpperCase() 方法:
Integer.toHexString(n).toUpperCase() 参数:
i - 要转换成字符串的整数。
返回:
用十六进制(基数 16)参数表示的无符号整数值的字符串表示形式。
// 转化字符串为十六进制编码
public static String toHexString(String s)
{
String str="";
for (int i=0;i<s.length();i++)
{
int ch = (int)s.charAt(i);
String s4 = Integer.toHexString(ch);
str = str + s4;
}
return str;
} // 转化十六进制编码为字符串
public static String toStringHex(String s)
{
byte[] baKeyword = new byte[s.length()/2]; for(int i = 0; i < baKeyword.length; i++) { try { baKeyword[i] = (byte)(0xff & Integer.parseInt(s.substring(i*2, i*2+2),16)); } catch(Exception e) { e.printStackTrace(); } } try
{
s = new String(baKeyword, "utf-8");//UTF-16le:Not
}
catch (Exception e1)
{
e1.printStackTrace();
}
return s;
} // 转化十六进制编码为字符串
public static String toStringHex(String s)
{
byte[] baKeyword = new byte[s.length()/2]; for(int i = 0; i < baKeyword.length; i++) { try { baKeyword[i] = (byte)(0xff & Integer.parseInt(s.substring(i*2, i*2+2),16)); } catch(Exception e) { e.printStackTrace(); } } try
{
s = new String(baKeyword, "utf-8");//UTF-16le:Not
}
catch (Exception e1)
{
e1.printStackTrace();
}
return s;
} public static void main(String[] args) {
System.out.println(encode("中文"));
System.out.println(decode(encode("中文")));
}
/*
* 16进制数字字符集
*/
private static String hexString="0123456789ABCDEF";
/*
* 将字符串编码成16进制数字,适用于所有字符(包括中文)
*/
public static String encode(String str)
{
//根据默认编码获取字节数组
byte[] bytes=str.getBytes();
StringBuilder sb=new StringBuilder(bytes.length*2);
//将字节数组中每个字节拆解成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());

JAVA中十六进制与字符串的转换相关推荐

  1. java中如何将字符串数组转换成字符串(转)

    如果是 "字符串数组" 转 "字符串",只能通过循环,没有其它方法 String[] str = {"abc", "bcd&quo ...

  2. java中如何将字符串数组转换成字符串

    如果是 "字符串数组" 转 "字符串",只能通过循环,没有其它方法 String[] str = {"abc", "bcd&quo ...

  3. 在java中如何把字符串转换成时间格式?

    在java中如何把字符串转换成时间格式? 检举 | 2007-11-28 17:26 提问者:baixiao429 | 悬赏分:20 | 浏览次数:6645次 有这样一个字符串:"20070 ...

  4. java中的进制输出转换_java中进制的转换,Byte与16进制的转换

    java中对于进制的转换有很多方式,其中对于常见的基本的二进制 八进制 十进制 十六进制等的转换有对于的包装类实现,不需要通过二外的算法来进行实现,具体如下: 首先关于最简单的二进制转换的方法有: 十 ...

  5. 利用python解决Origin中十六进制和十进制整数转换的问题

    利用python解决Origin中十六进制和十进制整数转换的问题 Origin是由OriginLab公司开发的一个科学绘图.数据分析软件,功能非常强大,可以画出各种漂亮的图像,而且还能进行数理统计/数 ...

  6. java中字符和字节的转换_Java最佳实践–字符到字节和字节到字符的转换

    java中字符和字节的转换 在使用Java编程语言时,我们将继续讨论与建议的实践有关的系列文章,我们将讨论String性能调优. 特别是,我们将着重于使用默认编码时如何有效地处理字符到字节和字节到字符 ...

  7. JAVA中用于处理字符串的 三兄弟

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! JAVA ...

  8. python字符串转16进制_Python十六进制与字符串的转换

    电脑上装了Python2.7和3.3两个版本,平时运行程序包括在Eclipse里面调试都会使用2.7,但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理,因为这 ...

  9. Java中四种进制转换

    进制介绍 举例: 不同进制转换运算 Java中二进制使用0b(0B)前缀来表示,不足一字节需高位补零,凑成8位. Java中八进制使用0前缀来表示. Java中十六进制使用0x(0X)来表示,a~e( ...

最新文章

  1. python实现二叉树遍历(前序遍历、中序遍历、后序遍历)
  2. Rabbitmq-理论基础
  3. 软工三(5.12上课)
  4. extjs 日期不显示
  5. 如何解决 kubernetes 重启后,启来不来的问题
  6. 如何清除你的DNS缓存
  7. 09.Java数据算法
  8. 2021年安全生产模拟考试(建筑安全员A证-企业负责人模拟考试题库)安考星
  9. 快速入门高斯过程(Gaussian process)回归预测
  10. no ip domain lookup
  11. 程序员3年工资从7千到2万2,晒出跳槽经历!网友:厉害
  12. 英文写作盲点-less than 和 fewer than 、only
  13. matplotlib柱状图上方显示数据_Python基础数据可视化
  14. 统计字符号串“aaaabbbccccddfggh”中字母个数或统计最多字母数;
  15. JDK8经典特性回顾
  16. 使用mybatis-plus时,报错500
  17. 使用命令行配置启动windows服务
  18. 小狗钱钱《读书笔记》系列(上)
  19. 一个LM324的电流源方案
  20. g++来进行编译的头文件路径问题

热门文章

  1. 如何用青云客聊天bot的API创建一个聊天脚本
  2. Go程序设计语言3.3 复数
  3. android自定义View: 九宫格解锁
  4. 初识--jQuery
  5. 金蝶K3--采购订单--价格控制
  6. 初中数学最全几何模型_初中数学几何九大模型,看见的不能错过,收藏后考试必备...
  7. C++ / Python / 网络 八股荟萃
  8. cmd52命令发送 mmc_Linux MMC framework(2)_host controller driver
  9. 漫画:JavaScript咸鱼翻身记
  10. C关键字section的作用