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());
}
分享到:
相关推荐
2. **十六进制转字符串**:相反的过程需要先使用“十六进制到整数”函数将十六进制字符串转换为十进制,再用“整数到字符串”函数将十进制数值转化为字符串。需要注意的是,这里的“整数到字符串”可能会产生一个以...
本文将深入探讨如何在C语言环境中实现二进制字符串与十六进制字符串之间的转换,并结合MFC(Microsoft Foundation Classes)框架创建一个小工具来辅助这些操作。 首先,让我们理解二进制和十六进制的基本概念。二...
要将字符串转换为十六进制串,我们需要对字符串中的每个字符进行编码,然后将编码结果转换成十六进制字符串。C#提供了`BitConverter`类和`ToString`方法来完成这个任务: ```csharp public static string StringTo...
详解C++中十六进制字符串转数字(数值) 主要有两个方法,其实都是对现有函数的使用: 方法1: sscanf() 函数名: sscanf 功 能: 从字符串格式化输入 用 法: int sscanf(char *string, char *format[,...
网上找了好久都没找到这种方法,自己写了一个 可以自己设置一下参数,可以把字符串直接转为十六进制ASCII来进行串口发送,串口通讯用得上,稀缺资源。目前全网唯一!!
`十六进制字符串转十进制数值.txt`文件可能包含了实现这个功能的完整代码,你可以参考其中的实现细节,根据具体需求进行调整。确保在实际项目中添加适当的错误检查和边界条件处理,以保证程序的健壮性。 总之,在...
本文将深入探讨十六进制字符串与浮点数、整型之间的转换,并提供在Qt和VC2010环境下实现这些转换的源代码。 首先,我们要理解不同进制的概念。在计算机科学中,我们常用的是二进制、八进制、十进制和十六进制。十六...
VBA实现单精度浮点数与十六进制字符串相互转换,并提供2个相互转换的示例 第一个按钮: "A1录入十六进制8位字符串; B1输出单精度浮点数结果" 第二个按钮 "将B1作为单精度浮点数输入 C1输出16进制结果
描述中提到的“该程序主要用于将jpg图片的数据流转换为十六进制字符串”,这意味着有一个特定的程序或脚本,它可以读取jpg图片的原始二进制数据,然后将其转化为由0到9和A到F这些字符组成的十六进制序列。...
关于字符串与十六进制码之间的转化,网上到是有不少理论方法,但是可用的没多少,专门写一个demo的更是没有。所以我自己写了一个实例(PS:用VC++6.0写的)上传,以便于遇到这个问题的人能更快的解决这个问题。
python上实现十六进制和二进制转为字符串。
本教程将详细讲解如何将接收到的16进制数值转换为字符串并显示在界面上,确保过程绝对可靠且易于理解。我们将重点讨论与16进制数、字符串显示以及QLineEdit控件相关的知识点。 首先,了解16进制数的基本概念至关...
// 将十六进制转为十进制 result ^= binaryValue; // 进行异或运算 } System.out.println("十六进制异或结果:" + Integer.toHexString(result)); // 输出异或结果 } } ``` 在上述代码中,`Integer.parseInt...
labview十六进制转十进制,输入字符串控件是十六进制显示。
在IT领域,将字符串转换为十六进制是一个常见的需求,尤其是在数据处理、加密解密算法、网络通信等场景中。本文将深入解析如何实现这一功能,包括基础概念、代码实现及注意事项。 ### 基础概念 #### 字符串与十六...
labview没有十六进制字符串到十进制字符串转换,所以我做了一个关于十六进制显示字符串到正常显示十六进制字符串转化的vi,需要可以带走。
3. **二进制转十六进制**:将二进制数转换为十六进制字符串。这可以通过将二进制数除以16并取余得到每位十六进制数,然后用十六进制字符映射(0-9和A-F)替换余数。 4. **处理汉字和特殊字符**:对于非ASCII字符,...
该软件可以完成十六进制数间的去空格,加空格,及转化为字符串,十进制等
软件介绍: 字符串转换器可以进行10进制转2进制转换,10进制转8进制/16进制转换。16进制转2进制或8进制10...字符串转10进制16进制,字符串转Unicode或Delphi DFM字符串。转换前选择一下要使用的转换模式转换即可。
在LabVIEW中,我们不能直接将一个浮点数转换为四位的十六进制字符串,因为一个标准的32位单精度浮点数(在LabVIEW中是默认的浮点类型)需要8位的十六进制数字来表示。这8位对应于浮点数的二进制表示中的32位。 这个...