byte[] merge2BytesTo1Byte(String str){
byte[] bytes =new byte[str.length()/2];
char s,e;
for(int i=0;i<str.length();i+=2){
s=str.charAt(i);//第I个索引字符
e=str.charAt(i+1);//第I+1个索引字符
if( s<='9')
{
if(e <='9')
{
bytes[i/2]=(byte)(((s-0x30)<<4)+(e-0x30));
}
else if((e<='z' && e>='a'))
{
bytes[i/2]=(byte)(((s-0x30)<<4)+(e-0x57));//左移4位
}
}
else if(s>'9')
{
if(e<='9')
{
bytes[i/2]=(byte)(((s-0x57)<<4)+(e-0x30));
}
else if((s<='z' && e>='a'))
{
bytes[i/2]=(byte)(((s-0x57)<<4)+(e-0x57));
}
}
}
return bytes;
}
分享到:
相关推荐
而在第二行比较中,由于 `"hello"` 和 `"world"` 都是字符串字面量,它们会被合并成一个 `"helloworld"` 字符串字面量,这使得 `s3` 与 `"hello" + "world"` 实际上都指向字符串常量池中的同一个对象。 通过使用反...
从给定的代码片段来看,这实际上是一段C++代码,而非Java代码,旨在将一个十六进制字符串转换为双精度浮点数(double)。在深入解析这段代码之前,我们首先来了解一下Java中如何实现16位内存数据转化为double型。 #...
在这里,我们使用字符串连接操作(`+`)将文本 "The product is: " 和变量 `p` 的值合并成一个字符串,然后输出。 程序的时间复杂度是 O(1),这意味着无论输入的浮点数值多大,这个操作始终都只需要固定的时间来...
1. **`printHexString`** 函数:此函数接收一个提示字符串和一个字节数组作为参数,将字节数组转换成十六进制格式并打印到控制台上。它遍历每个字节,将其转换为十六进制形式,并确保每个值都是两位数(如果不足两位...
- `^` 表示按位异或运算符,用于将两个字节合并为一个。 #### 2.2 将16进制字符串转换为byte数组 此方法用于将一个16进制字符串转换为对应的byte数组。 ```java public static byte[] hexString2Bytes(String src...
该方法接收一个提示字符串`hint`和一个`byte`数组`b`作为参数,将`byte`数组中的每个元素转换成16进制并打印出来。 ```java public static void printHexString(String hint, byte[] b) { System.out.print(hint);...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
- `SequenceInputStream`:可以将多个输入流合并成一个输入流。 - **输出流**:向目标端写入字节数据。主要类包括: - `ByteArrayOutputStream`:将数据写入内存数组。 - `FileOutputStream`:将数据写入文件。 ...
在Java中,字符串常量池是一个特殊区域,存储了所有字面量字符串。当创建两个引用相同的字符串,如`String s1 = "hello"; String s2 = "hello";`,它们实际上是同一个对象的引用,所以`s1 == s2`会返回true。然而,...
在工具类中,可能会有一个静态方法用于转换字符串或字节数组的编码,如`convertEncoding(String str, String fromCharset, String toCharset)`。 2. **获取服务器路径**: 获取服务器路径可能涉及到`java.net.URL`...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
- `SequenceOutputStream`:将多个输出流合并为一个输出流。 2. **字符流**: - **字符输入流**: - `CharArrayReader`:与`ByteArrayInputStream`类似,但以字符为单位读取。 - `StringReader`:与`...
- **SequenceOutputStream**:将多个输出流合并为一个输出流,可以将数据同时写入多个目标。 ##### 1.2 以Unicode字符为导向的Stream 以Unicode字符为导向的Stream用于处理文本数据,它以字符(通常是16位Unicode...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
`getChar(byte[] bytes)` 将这两个字节合并回原始的char值。 3. `getBytes(int data)` 和 `getBytes(long data)` - 这两个方法处理整数类型。`getBytes(int data)` 和 `getBytes(long data)` 分别将int和long值...
这是因为`+`操作符在字符串上下文中用作连接操作,将两个字符串`"good"`和`"morning"`合并为一个单一的字符串。 ### 21. 数据类型转换 当一个`int`类型的整数与一个`double`类型的数进行加法运算时,结果类型将是`...
**4.8 连接两个字符串** - 示例代码:`String newStr = str1 + str2;` **4.9 MyDate类的实现** - 示例代码:定义`MyDate`类,包含日期相关的属性和方法。 **4.10 求前n个质数** - 示例代码:使用筛法或其他算法...
此示例代码展示了如何读取一个文件中的所有行,并将它们合并成一个字符串。 3. **从字符串中逐个读取字符** ```java StringReader in1 = new StringReader(s2); int c; while ((c = in1.read()) != -1) { ...
- `StringBufferInputStream`: 将一个字符串作为输入流。 - `FileInputStream`: 从文件中读取数据。 - `PipedInputStream`: 实现管道概念,常用于线程间通信。 - `SequenceInputStream`: 可以将多个输入流合并为...