`
wangleide414
  • 浏览: 592086 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java中16进制和字符串和十进制间的转换

阅读更多

最近做这方面的程序,发现网上的没有系统的归纳一下。我现在把我所知道贡献给大家:

// 转化字符串为十六进制编码
public static String toHexString(String str) {
        String result= " ";
        for (int i=0;i <str.length();i ++) {
              int ch = (int)str.charAt(i);
              String s = Integer.toHexString(ch); 
              result = str+ s;
        }
        return result;
}

//转换10进制为16进制

int i=10;

String result=Integer.toHexString(i); //可以得到result为"a";

 

//把字符串转换成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());
 }

分享到:
评论

相关推荐

    16进制数转化成字符串(包括中文)

    java代码,从16进制数直接转化成字符串(包括中文)简单好用

    java中进制转换(二进制,十进制,十六进制)及字节数组与十六进制的转换

    最近由于工作上的需要,遇到进制转换的问题。涉及到的进制主要是 十进制,十六进制,二进制中间的转换。还包括了一个字节数组 与十六进制字符串的互相转换。估计遇到蓝牙通信的朋友,应该用的上。

    Java实现的进制转换工具类完整示例

    主要介绍了Java实现的进制转换工具类,结合完整实例形式分析了Java实现二进制、十六进制、字符串、数组等相关转换操作技巧,需要的朋友可以参考下

    Java进制转换方法整理

    十进制转换其他进制 使用方法 返回值 10进制转2进制 Integer.toBinaryString(n) 一个二进制字符串 10进制转8进制 Integer.toOctalString(n) 一个八进制字符串 10进制转16进制 Integer.toHexString(n) 一个...

    java工具类 string转10进制sacii byte数组再转16进制字符数组再转16进制byte数组 string与BCD互转

    java工具类 : string转10进制sacii byte数组、 10进制sacii byte数组转16进制字符数组、 16进制字符数组转16进制byte数组、 string与BCD互转等方法,包含多个转换方法, 足够满足日常解包组包需求

    matlab十六进制转十进制代码-char2hex-hex2char:将十进制整数字符串转换为十六进制表示形式并在Matlab中返回

    将十进制整数字符串转换为十六进制表示形式,然后再返回到Matlab中。 版本1.2,2016年4月21日 下载资料库: 返回一个二维字符串数组,其中每行是S行中每个十进制整数字符串的十六进制表示形式。 S必须是仅包含十进制...

    进制数据转换java代码

    二进制字符串转换成十六进制字符串,并返回byte数组 ...把16进制字符串转换成字节数组 把字节数组转换成16进制字符串 十六进制字符串转二进制字符串 二进制转十进制数 将数字(十进制)串转换为固定位数的二进制字符串

    ryu:将浮点数转换为十进制字符串

    该项目包含使用最短,固定的%f和科学的%e格式将IEEE-754浮点数转换为十进制字符串的例程。 主要的实现是在C中进行的,并且到Java的转换最短。 所有算法均已在同行评审的出版物中发表。 在撰写本文时,这些是已知最...

    javascript十六进制数字和ASCII字符之间的转换方法

    //获取指定字符的十进制表示. var hexOri="0x"+charCode.toString(16);;//将int值转换为十六进制 alert&#40;"hex:"+hex+"\ncharValue:"+charValue+"\ncharCode:"+charCode+"\nhexOri:"+hexOri&#41;; 以上就是小编为...

    关于Modbus数据16进制转10进制问题

    这两天在开发STM32的Modbus主站,就买了一个RS485总线的温湿度传感器来,温湿度传感器说明要求将传感器返回的Modbus报文数据转换为10进制后再除以10得到真实数据,以下是举例 Modbus主站发送报文: 01 04 00 01 00 ...

    javascript常见数字进制转换实例分析

    这其中关于16进制的一个函数也很特别,escape函数可以将一个字符串转化成16进制的数字。 下面是一个综合的例子: var a = escape(code); //code是个十六进制形式的字符串,a就是一个十六进制数 var b = pars

    javascript parseInt() 函数的进制转换注意细节

    parseInt(string, radix) 有2个参数,第一个string 是传入的数值,第二个radix是 传入数值的进制,参数radix 可以忽略,默认为 10,各种进制的数转换为 十进制整数(如果不是整数,向下取整)。 radix 的取值范围是 ...

    (推荐)最简单的java汉化工具

    因为使用手工汉化java的class文件比较复杂,通常汉化一个游戏要花费很大精力,本软件的目的就是要简化汉化人的工作量,把原本需要用16进制编辑器的查找、编码转换、替换工作交给软件来玩成,这样能大大节省汉化人的...

    Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue

    5,字符串常量。将一个或者多个字符用双引号(“ ”)标识。 6,null常量。只有一个数值就是:null. 对于整数:有四种表现形式。 •二进制:0,1 ,满2进1. •八进制:0-7 ,满8进1. 用0开头表示。 •十进制:0-...

    JAVA上百实例源码以及开源项目源代码

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    JAVA上百实例源码以及开源项目

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    java开源包4

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包11

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包101

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包6

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

Global site tag (gtag.js) - Google Analytics