高效byte 和string互轉的方法

2022-01-21 21:41:24 字數 2464 閱讀 9941

public

static

class

utils

return

sb.tostring();

}///

///高效的位元組陣列轉字串

//////

///public

static

string

bytestostringh(

byte

input)

return

newstring

(chars);

}///

///使用指標效率最高

//////

///public

static

unsafe

string

bytestostrings(

byte

input)}}

return

newstring

(chars);

}///

///普通方法——字串轉位元組陣列,最容易想到

//////

///public

static

byte

stringtobytes(

string

input)

byte

bytes 

=new

byte

[len /2

];for

(inti =

0; i 

<

len /2

; i++

)處的字元無法轉換為16進製制位元組

", i *2

+1));}

}return

bytes;

}///

///高效的字串轉位元組陣列

//////

///public

static

byte

stringtobytesh(

string

input)

byte

bytes 

=new

byte

[len /2

];for

(inti =

0; i 

<

len /2

; i++

)catch

(exception e)

處的字元無法轉換為16進製制位元組,原始資訊為:

", i *2

+1, e.message));}}

return

bytes;

}///

///使用指標效率最高

//////

///public

static

unsafe

byte

stringtobytess(

string

input)

byte

bytes 

=new

byte

[len /2

];fixed

(byte

*lbytes 

=bytes)

catch

(exception e)

處的字元無法轉換為16進製制位元組,原始資訊為:

", i *2

+1, e.message));}}

}}return

bytes;

}///

///輸入乙個16進製制字元,返回小於16的正整數

//////

16進製制字元

///小於16的正整數

private

static

intchartoint(

char

input)

else

if(input 

>='a

'&&input 

<='z

')else

if(input 

>='a

'&&input 

<='z

')throw

newexception(

string

.format(

"字元()超出16進製制範圍,無法轉換

", input));

}///

///輸入乙個小於16的正整數,返回對應的16進製制字元。

//////

小於16的正整數

///16進製制字元

private

static

char

inttochar(

intinput)

else

if(input 

>=

10&&

input 

<=15)

throw

newexception(

string

.format(

"輸入()超出16進製制範圍,無法轉換

", input));}}

java 裡面的string 和byte 互轉

1.string 轉 byte byte midbytes isostring.getbytes utf8 為utf8編碼 byte isoret srt2.getbytes iso 8859 1 為iso 8859 1編碼 其中iso 8859 1為單位元組的編碼 2.byte轉string st...

byte 與string相互轉換

c 中byte與string相互轉換及string與sql server中nvarchar的轉換問題 最近在寫專業實踐 資料庫加密,找出以前寫的md5 des程式,編成兩個動態鏈結庫md5.dll des.dll,在這把我遇到的問題分享下 1 byte與string的相互轉換 首先在c 中strin...

C 中byte 和 string 的相互轉換

byte 和 string 的相互轉換 string s c 語言 byte b1 system.text.encoding.default.getbytes s byte b2 system.text.encoding.unicode.getbytes s string t1 foreach by...