Ниже приведен мой код для преобразования строки в ее эквивалент ascii. Строка будет содержать только числа - вот почему я выделяю 2 байта для каждого символа (с 1 по 9 - от 49 до 58 в ascii соответственно) Но я получаю java.lang.ArrayStoreException в java.lang.System. arraycopy (родной метод). Любая идея, почему это происходит? Имейте в виду, что я буду только помещать цифры как строки, как упоминалось ранее.ArrayStoreException при конкатенации байтов массива
public byte[] intToAscii(String assetId) { // class main
int stringLength = assetId.length();
byte[] retBuf = new byte[stringLength];
int offset = 0;
for(int i = 0; i < stringLength ; i++){
char character = assetId.charAt(i);
byte ascii = (byte) character;
System.arraycopy(ascii, 0, retBuf, offset, 1);
offset += 1;
}
return retBuf;
}