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;
}
arraycopy
に第一及び第三のパラメータは配列でなければならず、ascii
はbyte
、ないbyte[]
あります。
あなただけgetBytes()
を呼び出し、ASCIIバイトに文字列assetId
を変換したい場合:
public byte[] intToAscii(String assetId) {
return assetId.getBytes(StandardCharsets.US_ASCII); // or getBytes("US-ASCII") if pre-Java 7
}