Aşağıda bir dizeyi ascii eşdeğerine dönüştüren kodum yazıyor. Dize yalnızca sayıları içerecektir - bu yüzden her karakter için 2 bayt ayırıyorum (sırasıyla 1 ila 9 ascii içinde 49 ila 58) Ancak java.lang.System'de bir java.lang.ArrayStoreException alıyorum. arraycopy (Doğal Yöntem). Bunun neden olduğu hakkında bir fikrin var mı? Daha önce bahsettiğim gibi sadece sayıları dizeler olarak alacağımı unutmayın.Dizi bayt birleştirmesi sırasında 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;
}