【初心者】Java質問・相談スレッド76【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0524デフォルトの名無しさん
2005/12/04(日) 05:31:14charArray[j]= (char)((byteArray[i+1]<<8)+byteArray[i]);
これだとbyteArray[i]が0x80-0xFFの場合うまく変換できないんじゃない?
public static char[] toCharArray(byte[] byteArray) {
char[] charArray = new char[(byteArray.length + 1) / 2];
int bpos = 0, cpos = 0;
int loop = byteArray.length - 1;
while (bpos < loop)
charArray[cpos++] = (char) ((byteArray[bpos++] & 0xFF) | (byteArray[bpos++] & 0xFF) << 8);
if (bpos < byteArray.length) charArray[cpos] = (char) (byteArray[bpos] & 0xFF);
return charArray;
}
■ このスレッドは過去ログ倉庫に格納されています