將Byte陣列轉化為String

2021-09-30 01:58:46 字數 2332 閱讀 2277

問題

fcl得很多方法的返回值都是包含字元的

byte

陣列而不是返回乙個

string

,這樣的方法包含在如下的類中:

·system.net.sockets.socket.receive

·system.net.sockets.socket.receivefrom

·system.net.sockets.socket.beginreceive

·system.net.sockets.socket.beginreceivefrom

·system.net.sockets.networkstream.read

·system.net.sockets.networkstream.beginread

·system.io.binaryreader.read

·system.io.binaryreader.readbytes

·system.io.filestream.read

·system.io.filestream.beginread

·system.io.memorystream // constructor

·system.io.memorystream.read

·system.io.memorystream.beginread

·system.security.cryptography.cryptostream.read

·system.security.cryptography.cryptostream.beginread

·system.diagnostics.eventlogentry.data

由這些方法返回的

byte

陣列中包含的通常是以

ascii

編碼或是

unicode

編碼的字元,很多時候,我們可能需要將這樣的

byte

陣列轉換為乙個

string

解決方案

將乙個包含

ascii

編碼字元的

byte

陣列轉化為乙個完整的

string

,可以使用如下的方法:

using system;

using system.text;

public static string fromasciibytearray(byte characters)

將乙個包含

unicode

編碼字元的

byte

陣列轉化為乙個完整的

string

,可以使用如下的方法:

public static string fromunicodebytearray(byte characters)

討論

asciiencoding

類的getstring

方法可以將

byte

陣列中的

7-bitsascii

字元轉換為乙個

string

;任何大於

127的值將被轉化為兩個字元。在

system.text

命名空間中你可以找到

asciiencoding

類,查詢該類的

getstring

函式你還可以發現這個函式有多種過載方式以支援一些附加的引數。這個方法的過載版本還可以將乙個

byte

陣列中的一部分字元轉化為

string。將

byte

陣列轉化為

string

的getstring

方法可以在

system.text

命名空間的

unicodeencoding

類中找到,該方法將包含

16-bitsunicode

字元的byte

陣列轉化為

string

。同asciiencoding

類的getstring

方法一樣,該方法也包含乙個將

byte

陣列中的特定部分轉化為

string

的過載版本。

參考

msdn文件

將Byte陣列轉化為String

問題 fcl得很多方法的返回值都是包含字元的byte 陣列而不是返回乙個string 這樣的方法包含在如下的類中 system.net.sockets.socket.receive system.net.sockets.socket.receivefrom system.net.sockets.so...

將Byte陣列轉化為String

fcl得很多方法的返回值都是包含字元的byte陣列而不是返回乙個string,這樣的方法包含在如下的類中 system.net.sockets.socket.receive system.net.sockets.socket.receivefrom system.net.sockets.socket...

將Byte陣列轉化為String

fcl得很多方法的返回值都是包含字元的byte陣列而不是返回乙個string,這樣的方法包含在如下的類中 system.net.sockets.socket.receive system.net.sockets.socket.receivefrom system.net.sockets.socket...