`
any512
  • 浏览: 5069 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java字符和16进制互相转化~

    博客分类:
  • Java
阅读更多
说明:用日文charset  shift-jis(汉字假名占2byte,英文数字占1byte)实现的。
java 代码
 
  1. import java.io.UnsupportedEncodingException;  
  2.   
  3. public class CharStr {  
  4.   
  5.     private static String hex2Str(String theHex) {  
  6.         String theRst = "";  
  7.         byte[] theByte = new byte[theHex.length() / 2];  
  8.   
  9.         try {  
  10.             for (int i = 0; i < theHex.length(); i += 2) {  
  11.                 theByte[i / 2 ] = Integer.decode("0X"+  
  12.                         theHex.substring(i, i + 2)).byteValue();  
  13.             }  
  14.             theRst = new String(theByte, 0, theByte.length, "Shift_JIS");  
  15.         } catch (Exception Ue) {  
  16.             Ue.printStackTrace();  
  17.         }  
  18.         return theRst;  
  19.     }  
  20.   
  21.     private static String str2Hex(String theStr) {  
  22.         byte[] bytes;  
  23.         String result = "";  
  24.         int tmp;  
  25.         String tmpStr;  
  26.         try {  
  27.             bytes = theStr.getBytes("Shift_JIS");  
  28.             for (int i = 0; i < bytes.length; i++) {  
  29.                 if (bytes[i] < 0) {  
  30.                     tmp = 256 + bytes[i];  
  31.                     tmpStr = Integer.toHexString(tmp).toUpperCase();  
  32.                     result += tmpStr;  
  33.                 } else {  
  34.                     tmpStr = Integer.toHexString(bytes[i]).toUpperCase();  
  35.                       
  36.                     result += tmpStr.length()==1?"0"+tmpStr:tmpStr;  
  37.                 }  
  38.             }  
  39.         } catch (UnsupportedEncodingException e) {  
  40.             // TODO Auto-generated catch block  
  41.             e.printStackTrace();  
  42.         }  
  43.         return result;  
  44.     }  
  45.     public static void main(String[] argv) throws UnsupportedEncodingException {  
  46.         String a = "abcdefあaいbうcえdおe";  
  47.         String b = str2Hex(a);  
  48.         String c = hex2Str(b);  
  49.         System.out.println(a);  
  50.         System.out.println(b);  
  51.         System.out.println(c);  
  52.     }  
  53. }  

分享到:
评论

相关推荐

    android字符串和16进制转换

    在这里,`String.format()`和`BigInteger`用于将字符串转换为16进制,而`Base64.getDecoder().decode()`则用于将16进制字符串解码回原始的字节数组,再转化为字符串。 在实际应用中,你可能还会遇到其他复杂情况,...

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

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

    基于Java的16进制数与2进制数互相转化方法.docx

    "基于Java的16进制数与2进制数互相转化方法" 本文档主要介绍了基于Java的16进制数与2进制数互相转化方法。该方法通过Java语言实现十六进制数到二进制数的转化和二进制数到十六进制数的转化。 一、十六进制数到二...

    java二进制,字节数组,字符,十六进制,BCD编码转换

    /* java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */

    字符串转16进制码

    在IT领域,字符串和16进制编码是两个重要的概念,它们在数据处理、网络通信、编程语言中都有着广泛的应用。字符串是由字符组成的序列,而16进制(Hexadecimal)是一种数字表示方法,通常用于简化二进制数据的显示和...

    16进制字符串转换DWORDToHexString

    想“把数值转换成16进制字符串”,比如0x00000123转换成字符串"00000123",虽然有函数_itoa可以调用,但是返回结果是"123",用sprintf又不甘心,就自己动手写一个函数DWORDToHexString,附带的HexStringToValue有误...

    java 实现十六进制数转为图片

    2. **转换十六进制数**:将读取的十六进制字符串转换为整数。可以使用`Integer.parseInt(hexString, 16)`方法,其中16是基数参数,表示输入是十六进制。 3. **拆分RGB值**:将每个整数拆分为红、绿、蓝三个通道的值...

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

    Java实现的进制转换工具类是Java语言中的一种常用工具类,用于实现各种进制之间的转换操作,如二进制、十六进制、字符串、数组等。该工具类主要提供了将字节数组转换为十六进制字符数组或字符串的方法,以及将字符串...

    基于Java的16进制数与2进制数互相转化方法.doc

    在Java编程语言中,将16进制数与2进制数进行互相转化是常见的操作。以下是如何在Java中实现这种转化的详细方法。 首先,我们来看如何将16进制数转换为2进制数。这个过程主要分为以下几个步骤: 1. **输入处理**:...

    java 二进制数据与16进制字符串相互转化方法

    Java 中,二进制数据和 16 进制字符串是两种常见的数据表示形式,在实际编程过程中,我们经常需要将这两种格式相互转换。本文将详细介绍 Java 中二进制数据与 16 进制字符串相互转换的方法。 二进制数据 在 Java ...

    java正则表达式与进制转化总结

    正则表达式在java中的应用 与 java二、八、十、十六进制相互转化总结,与具体的示例,非常不错,欢迎下载使用。

    MP3音乐txt文件转16进制代码工具

    标题提到的"MP3音乐txt文件转16进制代码工具"就是这样一个实用程序,它帮助开发者将MP3音乐文件和TXT文本文件转化为16进制格式,便于在资源有限的单片机环境中存储和播放。 首先,我们来了解MP3音乐文件。MP3是一种...

    java-16位内存数据转化为double型

    从给定的代码片段来看,这实际上是一段C++代码,而非Java代码,旨在将一个十六进制字符串转换为双精度浮点数(double)。在深入解析这段代码之前,我们首先来了解一下Java中如何实现16位内存数据转化为double型。 #...

    16进制单精度(32位)浮点型转换器源码

    在IT领域,16进制和浮点型数据的转换是一项重要的基础知识,特别是在处理二进制数据、网络通信以及低级编程时。本主题聚焦于一个特定的工具或源码,即“16进制单精度(32位)浮点型转换器”,它能够将32位的浮点数在...

    javascript实现的字符串与十六进制表示字符串相互转换方法

    之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6c6f); 得到的是hello &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Hex-Char Bi-Converter&...

    16进制图片转换

    例如,Python的`binascii`库可以用于在二进制和16进制字符串之间转换,`PIL`库则可以处理图像数据。 总的来说,16进制图片转换是一项涉及图像处理、二进制数据操作和文件格式理解的技术。它在软件开发、数据分析...

    16进制转JPG图片工具

    总的来说,16进制转JPG图片工具是IT领域的一个实用工具,它帮助用户将从单片机或其他数据源获取的16进制数据转化为直观的图像,这对于数据分析、调试和可视化有着重要的作用。在实际应用中,这样的工具可以简化数据...

    10进制转化为16进制.zip

    在Java中,我们可以通过内置的`Integer.toHexString()`方法将一个十进制整数转换为十六进制字符串。例如: ```java int decimalNumber = 10; String hexString = Integer.toHexString(decimalNumber); System.out....

Global site tag (gtag.js) - Google Analytics