`
playboyb
  • 浏览: 4494 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

字符串 与16进制字符串相互转换

阅读更多

下面代码是根据该博客:http://gufenglian.iteye.com/blog/348282,进行了完善后得出的。

public class TestUTF8 {
    public static void main(String... args) {
        //下面打印出所有的中文字符串
        long start= 0x4E00;
        long end = 0x9FA5;
        do {
           System.out.println(toStringHex(Long.toHexString(start)));
           start++;
        } while (start < end);
    }
    
    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);
            if(s4.length()<4)
                /*
                 * 当此处是[a-zA-Z0-9]等ascii值时,
                 * 获得的16进制字符串长度小于4,
                 * 如果不加上"00",
                 * 在传入的字符串中即包含中文,又包含英文时,
                 * 调用下面方法toStringHex无法得出正确的结果。
                 */
                s4="00"+s4;
            str = str + s4;
        }
        System.out.println(str);
        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{
            //中文占用了2个字节,此处必须用“utf-16”,否则无法正确获取中文字符
            s = new String(baKeyword, "utf-16");//UTF-16le:Not  
        }catch (Exception e1){  
            e1.printStackTrace();  
        }
        return s;
    }  
}
 

 

分享到:
评论

相关推荐

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

    本文实例讲述了javascript实现的字符串与十六进制表示字符串相互转换方法。分享给大家供大家参考。具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6...

    android字符串和16进制转换

    反过来,将16进制字符串转换回ASCII字符串,我们需要将16进制字符串分割成单个字符,然后将它们解析为整数,最后将这些整数转换回相应的字符。这里有一个示例: ```java public String hexToString(String hex) { ...

    C# 字符串转十六进制串,16进制反向转回原字符串

    要将字符串转换为十六进制串,我们需要对字符串中的每个字符进行编码,然后将编码结果转换成十六进制字符串。C#提供了`BitConverter`类和`ToString`方法来完成这个任务: ```csharp public static string StringTo...

    labview字符串转16进制

    labview字符串转16进制转换,非常方便,直接调用即可。

    字符串转换16进制.html

    UTF-8格式字符串转换16进制

    字符串转16进制字节

    这里的`bytes.fromhex()`函数将16进制字符串转换为字节对象,`decode('utf-8')`再将字节解码回字符串。 除了Python,其他编程语言如Java、C++、JavaScript等也有类似的方法进行字符串与16进制字节的转换。在Java中...

    字符串转换16进制

    一种常见的方法是使用`BitConverter`类,它可以将任意类型的数据转换为字节数组,然后将字节数组的每个字节转换为16进制字符串。另一种方法是使用`Enumerable.Select`结合`ToString("X2")`来实现。 下面是一个简单...

    字符串转16进制

    3. **结果展示**:最终,程序会将所有字符的16进制ASCII码连接起来,形成一个完整的16进制字符串。在用户界面中,这可能以每两个字符为一组的方式显示,因为每个16进制字符对应4位二进制。 这个小软件"字符串转十六...

    C语言二进制字符串与十六进制字符串相互转化

    本文将深入探讨如何在C语言环境中实现二进制字符串与十六进制字符串之间的转换,并结合MFC(Microsoft Foundation Classes)框架创建一个小工具来辅助这些操作。 首先,让我们理解二进制和十六进制的基本概念。二...

    字符串和16进制转换源码 string 和 HEX 支持汉字

    4. 将二进制字符串转换为Unicode编码,再将其解码为字符串,可以使用`chr()`函数(Python中)配合`unhexlify()`(Python的二进制操作)。 在支持汉字的转换中,关键在于确保使用正确的编码方式。例如,如果字符串是...

    java 字符串转16进制Ascii

    在这个方法中,我们遍历输入字符串中的每个字符,将其转换为对应的ASCII整数值,然后使用`Integer.toHexString()`方法将该整数转换为16进制字符串。最后,我们将结果拼接到一个`StringBuilder`对象中,以空格分隔...

    Delphi字符串16进制互相转换

    在Delphi中,16进制字符串转换为整数或字节数组,以及将整数或字节数组转换为16进制字符串,有多种方法。我们可以使用系统提供的函数,如`Hex`和`IntToHex`来进行转换。 1. **16进制字符串转整数**: - 使用`...

    CVI串口字符串16进制转换

    在这个背景下,“CVI串口字符串16进制转换”涉及的是如何在CVI中处理串口接收到的字符串数据,并将其转化为16进制格式,以便进一步分析或存储。 首先,我们需要理解字符串和16进制之间的关系。字符串是由字符组成的...

    字符串转16进制码

    本篇文章将深入探讨如何将字符串转换为16进制码,以及这种转换在实际应用中的作用。 首先,我们需要了解字符串与16进制之间的关系。每个字符在计算机内部都有其对应的ASCII码或Unicode码,这些码通常是十进制数值。...

    Lua小程序十六进制字符串和二进制数据间的转换[借鉴].pdf

    一、从十六进制字符串转换为二进制数据 在 Lua 中,可以使用 string.len 函数来获取十六进制字符串的长度,然后使用 for 循环来遍历整个字符串,使用 string.sub 函数来截取每两个字符,使用 tonumber 函数将其转换...

    字符串与16进制数据互转

    例如,`BitConverter.ToString()`可以将字节数组转换为16进制字符串,而`Convert.FromHexString()`则可以从16进制字符串创建字节数组。 总结,理解和掌握字符串与16进制数据的转换是C#编程中的基本技能,这对于处理...

    labview 10进制字符串强制转换为16进制字符串

    本VI实现十进制字符串强制转换为16进制字符串,即输入10进制的0CDA可输出16进制的0CDA

    MFC/VC++字符串与十六进制码之间互相转化

    关于字符串与十六进制码之间的转化,网上到是有不少理论方法,但是可用的没多少,专门写一个demo的更是没有。所以我自己写了一个实例(PS:用VC++6.0写的)上传,以便于遇到这个问题的人能更快的解决这个问题。

    字符串16进制转10进制

    给定的文件内容中描述的C++代码片段展示了如何将16进制字符串转换为10进制的整数。代码首先定义了一个名为`strHexToInt`的函数,该函数接收一个`char*`类型的字符串作为输入,返回一个`int`类型的数值。在转换过程中...

    labview 16进制字符串强制转换为10进制字符串

    本VI实现16进制字符串强制转换为10进制字符串,即输入16进制的03DF本VI可以输出10进制的03DF,如果需要区分大小写,请自行添加强制转换为大写或小写

Global site tag (gtag.js) - Google Analytics