java 字符串和16进制的相互转换
说明:
- 在将字符串转为16进制之前先进行一次转化,先将其转化成为Unicode编码(相当于把中文用英文字符代替),在转化成为16进制
- 相反的,在十六进制转换为字符串后的得到的是Unicode编码,此时再将Unicode编码解码即可获取原始字符串
字符串转16进制
/*** 字符串转换成为16进制(无需Unicode编码)* @param str* @return*/
public static String str2HexStr(String str) {char[] chars = "0123456789ABCDEF".toCharArray();StringBuilder sb = new StringBuilder("");byte[] bs = str.getBytes();int bit;for (int i = 0; i < bs.length; i++) {bit = (bs[i] & 0x0f0) >> 4;sb.append(chars[bit]);bit = bs[i] & 0x0f;sb.append(chars[bit]);// sb.append(' ');}return sb.toString().trim();
}
16进制转为字符串
/*** 16进制直接转换成为字符串(无需Unicode解码)* @param hexStr* @return*/
public static String hexStr2Str(String hexStr) {String str = "0123456789ABCDEF";char[] hexs = hexStr.toCharArray();byte[] bytes = new byte[hexStr.length() / 2];int n;for (int i = 0; i < bytes.length; i++) {n = str.indexOf(hexs[2 * i]) * 16;n += str.indexOf(hexs[2 * i + 1]);bytes[i] = (byte) (n & 0xff);}return new String(bytes);
}
java 字符串和16进制的相互转换相关推荐
- Java 字符串,byte[],16进制的字符串互转
Java 字符串,byte[],16进制的字符串互转 /** * 字符串转换成十六进制字符串 */ public static String str2HexStr(String str) { char ...
- java字符串转16进制
蓝牙通信中,有时我们需要将字符串转为16进制再进行传输,转换方法如下 try {byte[] b = s.getBytes();String str = " ";for (int ...
- C#字符串与16进制的相互转换
字符串转换成16进制字符 /// <summary>/// 字符串转换为16进制字符/// </summary>/// <param name="s" ...
- Java 字符串转16进制数
/*** 字符串转16进制* @param hex* @return*/ public static byte[] hex2byte(String hex) {String digital = &qu ...
- java int to hex_Java字符串转16 进制工具类Hex.java | 学步园
Java 字符串转 16 进制工具类 Hex.java 实现 16进制 0xfecd .. 和 java 字符串之间的互转换! 如果做开发,通常用户登陆密码都会 mad5(salt + pwd) 然后 ...
- java进制转换、字符串与16进制互转/数字进制互转
目录 十进制转其他进制 其他进制数字转十进制 字符串与16进制相互转换 十进制转其他进制 /*** 十进制转其他进制*/public static String conversion(Integer ...
- java读取文件 16进制_Java对文件的16进制读取和操作
大家可以参考一下源代码的相关部分注释,然后写出自己的16进制处理程序. 有几个重点地方: 16进制字符串->10进制数 int input = Integer.parseInt ...
- 串口编程 - ascii字符与16进制的相互转换
串口编程 - ascii字符与16进制的相互转换 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 文章目录 串口编程 - ascii字 ...
- 将时间转换为16进制字符串或16进制小端模式byte数据
1.将String类型的时间转换 1>String类型时间转换为Date类型的时间 2>时间转换为时间戳 3>时间戳转换为16进制字符串 4>16进制字符串转换为16进制小端模 ...
最新文章
- 两个组件连线_如何正确的使用日志组件 Log4j、SLF4J、Logback
- Matlab绘图详细总结
- java中FutureTask的使用
- python清空列表clear_如何在Python中清空列表?
- PHP涟漪云-蓝奏云挂载直连下载程序源码
- SAP HANA中创建时间相关的数据时候需要Variant Schema
- mysql8.0.11创建用户报错_mysql8.0.11修改root密码,其他创建用户和删除用户
- 微信小程序开发-微信登陆流程
- 《程序员修炼之道》---- 修的是什么
- unity3d所要知道的基础知识体系大纲,可以对照着学习
- linux通过yum安装vim,linux/centos系统如何使用yum安装vi/vim?(转)
- 【Python刷题篇】——Python机器学习-鸢尾花分类
- SpringBoot 快速整合 QuartZ
- 如何生成唯一的Android设备ID?
- 485通讯( 详解 )
- IDEA 2021首个大版本发布,羊哥反手就是一个更新!附新亮点演示!
- Docer中使能GPU,GDB,perf
- PAT A1008 Elevator
- EF 通用帮助类 含分页 Lambda 拼接表达式
- 解决火狐,谷歌,ie兼容性问题
热门文章
- 十六、Barrier类(*)
- PolynomialFeatures多项式转换
- 安卓 jni 开发 —— Android Studio 打包 so 的坑
- #10049. 「一本通 2.3 例 1」Phone List
- 【案例】云卷云舒,ArcGIS成就时空交错的新闻播报
- 计算机管理中不显示独立显卡,win10系统下检测不到独立显卡如何解决
- Navicat Premium v12 破解教程(转)
- 协方差矩阵的齐性检验(接上一篇文章)
- c 语言中星号什么意思,Objective-C中的星号*是什么意思?
- 4、RDA8910(4GCAT1)CSDK二次开发:期待已久的ADC采集