情况:
我有一个GUI,我已经将水平十六进制转换为ASCII ...但现在我想将垂直十六进制转换为ASCII。
有没有人有一些想法我怎么解决这个问题?
我已经把它分开了:
vert.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fintext5.setText("");
String[] test = entertext3.getText().split("\\n");
for(int i = 0; i<test.length; i++){
System.out.prinln(test[i]);
}
}
});
水平十六进制代码:
button5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fintext5.setText("");
String readout = entertext3.getText().replace(" ", "").replace("\n", "");
StringBuilder output = new StringBuilder("");
for (int i = 0; i < readout.length(); i += 2)
{
String str = readout.substring(i, i + 2);
output.append((char) Integer.parseInt(str, 16));
}
fintext5.append(output.toString());
}
});
垂直六角形示例(41 42 43 44 45 46):
4 4 4
1 2 3
4 4 4
4 5 6
答案 0 :(得分:0)
你迷路了,我只是给你一个有用的起点:
vert.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ausgabe5.setText("");
String[] test = eingabe3.getText().split("\\n");
StringBuilder output = new StringBuilder();
for (int i = 0; i < test.length; i += 2) {
for (int j = 0; j < test[i].length(); j++) {
String hex = "" + test[i].charAt(j) + test[i + 1].charAt(j);
output.append((char)Integer.parseInt(hex,16));
}
}
System.out.println(output.toString());
}
});
请仔细查看并询问您不理解的任何内容。