C# 数据类型之String转byte[]

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;       

 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏landv

excel_VB宏脚本_批量生成点餐宝接受的格式

20320
来自专栏Golang语言社区

转--Go时间格式化和类型互换操作

获取本地时间 // get current timestamp currentTime := time.Now().Local() //p...

40770
来自专栏菩提树下的杨过

ruby学习笔记(3)--语法层面的先见之明

看了几天ruby,发现c#中很多一直被称道的语法特性,ruby早在几年前就有了:  1.c#中的params关键字 class Program ...

22950
来自专栏跟着阿笨一起玩NET

C#如何把List of Object转换成List of T具体类型

上周码程序的时候碰到个问题,因为设计上的约束,一个方法接受的参数只能为List<object>类型,然而该方法需要处理的真实数据则是确定的List<Curren...

58410
来自专栏vue

委托初级篇——委托三步曲

10920
来自专栏函数式编程语言及工具

Scalaz(45)- concurrency :Task-函数式多线程编程核心配件

    我们在上一节讨论了scalaz Future,我们说它是一个不完善的类型,最起码没有完整的异常处理机制,只能用在构建类库之类的内部环境。如果scalaz...

30160
来自专栏blackheart的专栏

[C#7] 1.Tuples(元组)

1. 老版本代码 1 class Program 2 { 3 static void Main(string[] args) 4 { ...

22490
来自专栏函数式编程语言及工具

SDP(13): Scala.Future - far from completion,绝不能用来做甩手掌柜

  在前面几篇关于数据库引擎的讨论里很多的运算函数都返回了scala.Future类型的结果,因为我以为这样就可以很方便的实现了non-blocking效果。无...

40360
来自专栏大内老A

我的WCF之旅(4):WCF中的序列化[下篇]

XMLSerializer 提到XMLSerializer,我想绝大多数人都知道这是asmx采用的Serializer。首先我们还是来看一个例子,通过比较Ma...

228100
来自专栏WindCoder

spring JPA相关命名规则

38310

扫码关注云+社区

领取腾讯云代金券