androidstring轉byte
❶ Android JNI部分得到jbytearray,java用byte[]數組進行接收。該如何實現
你都已經寫方法的返回值了,就直接return 這個jbyteArray。java端就能接受到
❷ Android中使用String.getBytes("UTF-8")出現了亂碼
改改包里的編碼。
❸ android 字元串轉byte數組
Android 字元串、byte數組與16進制數組間的轉換
<spanstyle="font-family:SimSun;font-size:14px;">//字元串轉換成16進制文字列的方法
publicStringtoHex(Stringstr){
StringhexString="0123456789ABCDEF";
byte[]bytes=str.getBytes();
StringBuilderhex=newStringBuilder(bytes.length*2);
for(inti=0;i<bytes.length;i++){
hex.append(hexString.charAt((bytes[i]&0xf0)>>4));//作用同n/16
hex.append(hexString.charAt((bytes[i]&0x0f)>>0));//作用同n
hex.append('');//中間用空格隔開
}
returnhex.toString();
}
//將16進制數組轉換為字元串
publicstaticStringdecode(Stringbytes){
StringhexString="0123456789ABCDEF";
ByteArrayOutputStreambaos=newByteArrayOutputStream(bytes.length()/2);
//將每2位16進制整數組裝成一個位元組
//for(inti=0;i<bytes.length();i+=2)
//baos.write((hexString.indexOf(bytes.charAt(i))<<4|hexString.indexOf(bytes.charAt(i+1))));
//將每3位(第3位為空格)中的前2位16進制整數組裝成一個位元組
for(inti=0;i<bytes.length();i+=3){
baos.write((hexString.indexOf(bytes.charAt(i))<<4|hexString.indexOf(bytes.charAt(i+1))));
}
returnnewString(baos.toByteArray());
}</span>
詳細
❹ android byte[]轉化成bitmap 發生了錯誤,要如何解決呢大神快來呀 高懸賞
建議使用BitmapFactory的其他decode方法,如果是網路讀過來的流,最好在本地存成文件緩存,然後通過decodeFileDescriptor方法就沒這種問題了。
你可以看一下這里 http://www.thinksaas.cn/group/topic/203384/,也碰到了類似的問題
❺ android中如何進行強制類型轉換
Java 的自動轉換
如果下列2個條件都能滿足,那麼將一世慶種類型的數據賦給另外一種類型變數時,將執行自動類型轉換(automatic type conversion):
1,這2種類型是兼容的。
2,目的類型數的范圍比來源類型的大。 ,
當以上2個條件都滿足時,拓寬轉換(widening conversion )發生。
例如,int 型的范圍比所有byte 型的合法范圍大,因此不要求顯式強制類型轉換語句。
對於拓寬轉換,數字類型,包括整數(integer )和浮點(floating-point )類型都是彼此兼容的,
但是,數字類型和字元類型(char)或布爾類型(bollean )是不兼容的。字元類型(char )和布爾類型(bollean )也是互相不兼容的。
不兼容類型的強制轉換
盡管自動類型轉換是很有幫助的,但並不能滿足所有的編程需要。例如,如果你需要將int 型的值賦給一個byte 型的變數,
你將怎麼辦?困返念這種轉換不會自動進行,因為byte 型的變化范圍比int 型的要小。這種轉換有時稱為「縮小轉換」(),
因為你肯定要將源數據類型的值變小才能適合目標數據類型。
為了完成兩種不兼容類型之間的轉換,你就必須進行強制類型轉換。所謂強制類型轉換只不過是一種顯式的類型變換。它的通用格式如下:
(target-type)value
其中,目標類型(target-type )指定了要將指定值轉換成的類型。例如,下面的程序段將int 型強制轉換成byte 型。
如果整數的值超出了byte 型的取值范圍,它的值將會因為對byte 型值域取模(整數除以byte 得到的余數)而減少。
int a;
byte b;
// ...
b = (byte) a;
當把浮點值賦給整數類型時一種不同的類型轉換發生了:截斷(truncation )。你知道整數沒有小數部分。
這樣,當把浮點值賦給整數類型時,它的小數部分汪困會被捨去。例如,如果將值1.23賦給一個整數,其結果值只是1,0.23 被丟棄了。
當然,如果浮點值太大而不能適合目標整數類型,那麼它的值將會因為對目標類型值域取模而減少。
❻ android bitmap對象怎樣轉化成uri
//Bitmap轉byte數組publicbyte[]Bitmap2Bytes(Bitmapbm){ByteArrayOutputStreambaos=newByteArrayOutputStream();bm.compress(Bitmap.CompressFormat.PNG,100,baos);//png類型returnbaos.toByteArray();}//寫到sdcard中publicvoidwrite(byte[]bs)throwsIOException{FileOutputStreamout=newFileOutputStream(newFile("/sdcard/test.png"));out.write(bs);out.flush();out.close();}先將Bitmap轉byte數組,然後再將byte數組寫到sdcard中。
❼ android bitmap怎麼轉byte數組
ByteArrayOutputStreamstream=newByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG,100,stream);
byte[]byteArray=stream.toByteArray();