У меня есть следующие String[]
:добавляющих Символы в файл
63,64,65,66,67,68,69,6A,73,74,75,76,77,78,79,7A,
83,84,85,86,87,88,89,8A,92,93,94,95,96,97,98,99
Каждый элемент является HEX ASCII код символа:
63 -> 'c'
64 -> 'd'
etc..
Так вот отношения части моего кода, он должен записать соответствующие символы ASCII в файле:
private static HashMap<String, Integer> HEXMAP;
static {
HEXMAP = new HashMap<String, Integer>();
HEXMAP.put("0", 0);
HEXMAP.put("1", 1);
HEXMAP.put("2", 2);
HEXMAP.put("3", 3);
HEXMAP.put("4", 4);
HEXMAP.put("5", 5);
HEXMAP.put("6", 6);
HEXMAP.put("7", 7);
HEXMAP.put("8", 8);
HEXMAP.put("9", 9);
HEXMAP.put("A", 10);
HEXMAP.put("B", 11);
HEXMAP.put("C", 12);
HEXMAP.put("D", 13);
HEXMAP.put("E", 14);
HEXMAP.put("F", 15);
}
public static void main(String[] args) {
try {
PrintWriter writer = new PrintWriter("resultFile");
for (String str : myString) {
append(str, writer);
}
writer.close();
}
catch(Exception e) {
}
}
private static int strToHex(String str) {
return HEXMAP.get(str.substring(0, 1)) * 16 + HEXMAP.get(str.substring(1, 2));
}
private static void append(String hex, PrintWriter writer) {
writer.print((char) strToHex(hex));
}
Проблема заключается в том, что, вместо того, чтобы это:
У меня есть следующие в моем результирующем файле:
(скриншоты выше из шестнадцатеричного редактора)
Что такое 'HEXMAP'? Это, безусловно, актуально. –
Не совсем, но здесь вы идете. Я уверен, что преобразование в Str на Hex отлично (strToHex («99») -> 153, strToHex («98») -> 152). –