ByteArray的操作總結 複製 列印 位運算

2022-08-27 06:36:06 字數 1714 閱讀 9723

1. 位元組陣列的複製

method a:array.clone()

clone返回的是object物件,需要強型別轉換;clone會建立乙個新的物件,並將value賦給dec

byte src = new

byte[20

];byte dst= new

byte[20

];dst = (byte)src.clone();

method b: array.coby

有多個過載版本

byte src = new

byte[20]; //

原陣列byte dst = new

byte[20]; //

目標陣列

int srcoffset = 0; //

原陣列偏移量

int dstoffset = 0; //

目標陣列偏移量

array.copy(src, srcoffset, dec, dstoffset, dst.length);

method c: buffer.blockcopy

該方法最為常用

byte src = new

byte[20]; //

原緩衝區

byte dst = new

byte[20]; //

目標緩衝區

int srcoffset = 0; //

src位元組偏移量,從0開始

int dstoffset = 0; //

dst位元組偏移量,從0開始

buffer.blockcopy(src, srcoffset, dst, dstoffset, dst.length);

2. 位元組陣列的轉換

method a: print bytearray

byte array = new

byte ;

string str = bitconverter.tostring(array);

//str = "00-01-02-03-04"

method b: encoding.default.getstring(bytearray)

將陣列中的所有位元組解析為應字串

byte array = new

byte ;

string str = encoding.ascii.getstring(array);

//str = "???"

method c: 源型別未知

byte src = new

byte ;

streamreader sr = new streamreader(new

memorystream(src));

string str =sr.readtoend();

//str = "???"

3. 字串轉位元組陣列:encoding.default.getbytes()

string str = "

???"

;byte bytes = encoding.default.getbytes(str);

//bytes = [0xfe, 0xfe, 0xfe, 0xfe]

ByteArray的位元組序 Endian

flash中的bytearray物件,可以看成是一段記憶體,而該物件的endian屬性決定著將外部資料寫入記憶體的位元組序。以寫整形為例,如果bytearray物件的endian設定為預設的bigendian,即大端,那麼在寫入乙個4位元組的整型時,它將會先把資料的最高有效位寫入到最低端,最後,資料...

令人蛋疼的ByteArray

最近做的乙個專案需要上傳比較多的到伺服器,伺服器限制大小是2m,在專案中,的大小都是有控制的,為100k 在互動中,返回給我 http status 413 上傳實體過大,超過伺服器大小。這讓我很糾結,我傳給伺服器的是二進位製流 bytearray 然後想當然的去計算,上傳的在10張以內,每張大小都...

MySQL總結 SQL總結 MySQL主從複製搭建

mysql有7種儲存引擎,39種資料型別,6種索引。儲存引擎 innodb,mysql從3.23.34a開始包含innodb儲存引擎,是唯一支援事務的標準mysql儲存引擎。自mysql5.5將innodb作為預設的儲存引擎。是mysql上第乙個提供外來鍵約束的表引擎,對事務處理的能力是其他儲存引擎...