將Byte陣列轉化為String

2021-06-20 21:20:13 字數 1607 閱讀 9653

**:

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的過載版本。  

將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...