問題
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...