牛骨文教育服务平台(让学习变的简单)
博文笔记

将十六进制字符串转为byte数组

创建时间:2007-11-08 投稿人: 浏览次数:167

需求是这样有十六进制字符串要存为byte数组

如string st = "0A000000",转为byte后为 byte[0]=10,byte[1]=0,byte[2]=0,byte[3]=0   

因.net2.0可用Convert将十六进制字符串转为byte有现成的就用吧。代码如下:

        public static byte[] writebytes1(string sBytes)
        
...{
            Stopwatch watch 
= new Stopwatch();
            watch.Reset();
            watch.Start();
            Debug.Assert(sBytes.Length 
% 2 == 0"数组长度错");

            
int pos = 0;
            
int len = (sBytes.Length / 2);
            
byte[] b = new byte[len];
            
int count = sBytes.Length;

            
for (int i = 0; i < count; i += 2)
            
...{
                b[pos] 
= Convert.ToByte(sBytes.Substring(i, 2), 16);
                pos
++;
            }

            watch.Stop();
            Console.WriteLine(
"{0}:{1}""writebytes1", watch.Elapsed);
            
return b;
        }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。