string类型和byte[]类型相互转换

7 篇文章 0 订阅

string类型转成byte[]:
 
byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );
 
 
 
byte[]转成string:
 
string str = System.Text.Encoding.Default.GetString ( byteArray );
 
 
 
string类型转成ASCII byte[]:
 
("01" 转成 byte[] = new byte[]{ 0x30,0x31})
 
byte[] byteArray = System.Text.Encoding.ASCII.GetBytes ( str );
 
 
 
ASCIIbyte[]转成string:
 
(byte[] = new byte[]{ 0x30, 0x31} 转成"01")
 
string str = System.Text.Encoding.ASCII.GetString ( byteArray );
 
 
 
byte[]转16进制格式string:
 
new byte[]{ 0x30, 0x31}转成"3031":
 
publicstaticstring ToHexString ( byte[] bytes ) // 0xae00cf => "AE00CF "
 
{string hexString = string.Empty;
 
if ( bytes != null )
 
{                
 
StringBuilder strB = new StringBuilder ();
 
for ( int i = 0; i < bytes.Length; i++ )
 
{                    
 
strB.Append ( bytes[i].ToString ( "X2" ) );                
 
}                
 
hexString = strB.ToString ();            
 
}return hexString;        
 
}
 
 
 
16进制格式string 转byte[]:
 
publicstaticbyte[] GetBytes(string hexString, outint discarded)
 
{            
 
discarded = 0;
 
string newString = "";
 
char c;// remove all none A-F, 0-9, charactersfor (int i=0; i<hexString.Length; i++)
 
{              
 
  c = hexString[i];if (IsHexDigit(c))                    
 
newString += c;
 
else                    
 
discarded++;            
 
}// if odd number of characters, discard last characterif (newString.Length % 2 != 0){                discarded++;                
 
newString = newString.Substring(0, newString.Length-1);            }
 
int byteLength = newString.Length / 2;byte[] bytes = newbyte[byteLength];string hex;int j = 0;for (int i=0; i<bytes.Length; i++){               
 
 hex = new String(new Char[] {newString[j], newString[j+1]});               
 
 bytes[i] = HexToByte(hex);                j = j+2;           
 
 }
 
return bytes;       
 
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值