
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String text = input.nextLine();
System.out.println(text);
input.close();
}
}
import java.util.Arrays;
public class Hello {
public static void main(String[] args) {
// 字节数组 -> 字符串
byte[] dataList = {97, 105, 100, 61, 50, 52, 54, 51, 56, 55, 53, 55, 49, 38, 97, 117, 116, 111, 95, 112, 108, 97, 121, 61, 48, 38, 99, 105, 100, 61, 50, 56, 57, 48, 48, 56, 52, 52, 49, 38, 100, 105, 100, 61, 75, 82, 69, 104, 69, 83, 77, 85, 74, 104, 56, 116, 70, 67, 69, 86, 97, 82, 86, 112, 69, 50, 116, 97, 80, 81, 107, 55, 87, 67, 104, 67, 74, 103, 38, 101, 112, 105, 100, 61, 48, 38, 102, 116, 105, 109, 101, 61, 49, 54, 50, 55, 49, 48, 48, 57, 51, 55, 38, 108, 118, 61, 48, 38, 109, 105, 100, 61, 48, 38, 112, 97, 114, 116, 61, 49, 38, 115, 105, 100, 61, 48, 38, 115, 116, 105, 109, 101, 61, 49, 54, 50, 55, 49, 48, 52, 51, 55, 50, 38, 115, 117, 98, 95, 116, 121, 112, 101, 61, 48, 38, 116, 121, 112, 101, 61, 51};
String dataString = new String(dataList);
System.out.println(dataString);
// 字符串 -> 字节数组
try {
// python中的 name.encode("gbk")
String name = "一个小黑";
byte[] v1 = name.getBytes("GBK");
System.out.println(Arrays.toString(v1));
// python中的 name.encode("utf-8")
byte[] v2 = name.getBytes("utf-8");
System.out.println(Arrays.toString(v2));
} catch (Exception e) {
}
}
}
注意:python中的字节是无符号数,范围是0255,java中的字节是有符号数,范围是-128127,其中正数是一一对应的
java中的字节,有符号:-128 ~ 127 0 1 2 3 ... 126 127 -128 -127 ... -3 -2 -1 python中的字节,无符号数:0 ~ 255 0 1 2 3 ... 126 127 128 129 ... 253 254 255
因此以后碰到java中的byte字节类型需要用python来模拟的话,需要做相应的处理,处理的方法如下
# Python脚本,方便你们以后使用。
byte_list = [-50, -28, -59, -26, -58, -21]
bs = bytearray() # python字节数组
for item in byte_list:
if item < 0:
item = item + 256
bs.append(item)
str_data = bs.decode('gbk') # data = bytes(bs)
print(str_data) # 武沛齐
字符串
import java.io.UnsupportedEncodingException;
public class Hello {
public static void main(String[] args) throws UnsupportedEncodingException {
String v1 = "一个小黑";
String v2 = new String("一个小黑");
String v3 = new String(new byte[]{-28, -72, -128, -28, -72, -86, -27, -80, -113, -23, -69, -111});
String v4 = new String(new byte[]{-46, -69, -72, -10, -48, -95, -70, -38}, "GBK");
String v5 = new String(new char[]{'一', '个', '小', '黑'});
}
}
public class Hello {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("name");
sb.append("=");
sb.append("apphao");
sb.append("&");
sb.append("age");
sb.append("=");
sb.append("18");
String dataString = sb.toString();
System.out.println(dataString); // name=apphao&age=18
}
}
以后在逆向的过程中看到StringBuilder就知道要连接字符串了
数组import java.util.Arrays;
public class Hello {
public static void main(String[] args) {
int[] numArray = new int[3]; // 整型数组
numArray[0] = 123;
numArray[1] = 1;
numArray[2] = 99;
System.out.println(Arrays.toString(numArray));
String[] names = new String[]{"一个小黑", "alex", "eric"}; // 字符串数组
System.out.println(Arrays.toString(names));
String[] nameArray = {"一个小黑", "alex", "eric"};
System.out.println(Arrays.toString(nameArray));
for (int idx = 0; idx < nameArray.length; idx++) {
System.out.println(nameArray[idx]);
}
}
}
Object
java中的object可以泛指任何一种类型的变量,和python中的object类似
public class Hello {
public static void func(Object v1) {
if (v1 instanceof Integer) {
System.out.println("整型");
} else if (v1 instanceof String) {
System.out.println("字符串类型");
} else {
System.out.println("位置类型");
}
}
public static void main(String[] args) {
func(123);
func("123");
func(12.3);
}
}
ArrayList v1 = new ArrayList(); LinkedList v2 = new LinkedList();
List v1 = new ArrayList(); List v2 = new LinkedList();
Object v1 = new ArrayList(); Object v2 = new LinkedList();