精华内容
下载资源
问答
  • 字符/字符串本身没有涉及进制转换,也就是没有溢出,那么直接调用byte.Parse(“字符数字”)即可,如果大于255 会报错,也请别这么干。 string a = "10 67 65 83 67 65 68 69 32 84 111 112 333 111 103 121 32 86...

    前排声明,新手,着急用,所以摸着石头过河。感觉有好的办法没找到,不定期可能还会更新。

    所有方案整合于互联网 如有雷同 都是我抄

    • 方案一
      字符/字符串本身没有涉及进制转换,也就是没有溢出,那么直接调用byte.Parse(“字符数字”)即可,如果大于255 会报错,也请别这么干。
    string a = "10 67 65 83 67 65 68 69 32 84 111 112 333 111 103 121 32 86 49 44 32 40 99 41 32 77 97 116 114 97 45 68 97 116 97 118 105 115 105 111 110";//务必255 以内 空格间隔 
    byte[] intBuff = a.Select(x => byte.Parse(x)).ToArray();
    
    string[] a = { "55", "88", "255" };
    byte m = byte.Parse(a[1]);
    
    • 下面是另个方案
      这样出来的intBuff是个4byte数组,不确定是否正常,感觉有点怪怪的,他这么转我大概能理解,可能是转换中间用了这么多的空位,如果要求不高可以用
    			string a = "352";
                byte[] intBuff = BitConverter.GetBytes(i);
    
    • 后排讨论一个错误方案
      这样出来的intBuff会变成三个字节的数组,大概是50几,结果忘了记录了,反正就是对应的ascii值,也就是说用这个函数转出来的是ascii对应的码值,按照玩单片机的搞法,其实也够了,三个数减去中间值,自己写个转换函数,一位一位的对应(减去ascii和实际数的差值)上乘以位权,比如5×100 +1×10+2,再除以256,溢出的赋值给高位,余数给低位,当然,这玩意是高级语言而且有丰富的库,所以我们最好还是不要自己实现????
    			string a = "352";
                byte[] intBuff = Encoding.UTF8.GetBytes(a);
    

    说实话我觉得自己实现比较快。姑且,有这种转换函数吧,我玩labview是有直接转换的控件的,不知道为什么这个有点难找,不过也是我手头没有书,也没怎么学过只能网上找。
    此外…十六进制的现成的转换方法有吗…

    ok 16进制的单个字节转换,代码如下

    			string[] a = new[] { "0D" };
                int i = int.Parse(a[0],System.Globalization.NumberStyles.HexNumber);
    
    展开全文
  • //本项目的实际情况,用两个byte表示问题数字 int wd = (int)raw; byte先转uint,uint再转int. 补充知识:c# byte数组转换 8位有符号整数 16位有符号整数 32位有符号整数 byte数组 byte[] aa = new byte[] { 0xF8
  • I know how to do this the long way: by creating a byte array of the necessary size and using a for-loop to cast every element from the int array.I was wondering if there was a faster way, as it seems ...

    I know how to do this the long way: by creating a byte array of the necessary size and using a for-loop to cast every element from the int array.

    I was wondering if there was a faster way, as it seems that the method above would break if the int was bigger than an sbyte.

    解决方案

    If you want a bitwise copy, i.e. get 4 bytes out of one int, then use Buffer.BlockCopy:

    byte[] result = new byte[intArray.Length * sizeof(int)];

    Buffer.BlockCopy(intArray, 0, result, 0, result.Length);

    Don't use Array.Copy, because it will try to convert and not just copy. See the remarks on the MSDN page for more info.

    展开全文
  • 一、串转byte[] /// /// 16进制原码字符串转字节数组 /// /// "AABBCC"或"AA BB CC"格式的字符串 /// public static byte[] ConvertHexStringToBytes(string hexString) { hexString = hexString.Replace(" ", "")...

    一、串转byte[]

    	    /// <summary>
            /// 16进制原码字符串转字节数组
            /// </summary>
            /// <param name="hexString">"AABBCC"或"AA BB CC"格式的字符串</param>
            /// <returns></returns>
            public static byte[] ConvertHexStringToBytes(string hexString)
            {
                hexString = hexString.Replace(" ", "");
                if (hexString.Length % 2 != 0)
                {
                    throw new ArgumentException("参数长度不正确,必须是偶数位。");
                }
                byte[] returnBytes = new byte[hexString.Length / 2];
                for (int i = 0; i < returnBytes.Length; i++)
                {
                    returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
                }
    
                return returnBytes;
            }
    

    在两个十六位是一个字节,在循环中每两16字符个转一下字节。

    二、在上面方法的基础上

    将循环中的转化方法调整了

    byte item ;
    byte.TryParse(hexString.Substring(i * 2, 2), System.Globalization.NumberStyles.AllowHexSpecifier, System.Globalization.CultureInfo.InvariantCulture, out item);
    returnBytes[i]=item ;
    
    展开全文
  • C# byte 和 char 转化

    2018-10-23 13:15:00
    C# byte 和 char 可以认为是等价的。但是在文本显示的时候有差异。c# 使用的是unicode字符集,应该和为ascii相互转换 只能转换到字符的unicode编码,或者由unicode编码转换为字符转换方法如一楼所写字符变数字char a...

    C#  byte 和 char 可以认为是等价的。但是在文本显示的时候有差异。  



    c# 使用的是unicode字符集,应该和为ascii相互转换 只能转换到字符的unicode编码,或者由unicode编码转换为字符

    转换方法如一楼所写
    字符变数字
    char a='a';
    int ua=(int)a;//字符变整数
    a=(char)ua;//整数变回字符
    --------------------- 

     

    • char转化为byte:

        public static byte[] charToByte(char c) { 
            byte[] b = new byte[2]; 
            b[0] = (byte) ((c & 0xFF00) >> 8); 
            b[1] = (byte) (c & 0xFF); 
            return b; 
        }

     

    char[]转化为byte[]:

    char[] cChar=new char[5]{a,b,c,d,e};   
    byte[] byteData=Encoding.Default.GetBytes(cChar);  

    // 这样转换,一个2字节的char,只转换为1个byte。

     

    byte[]转化为char[]:

    byte[] byteData=new byte[5]{0x01,0x02,0x03,0x04,0x05};   
    char[] cChar=Encoding.ASCII.GetChars(byteData);  

     

    • byte转换为char:

        public static char byteToChar(byte[] b) { 
            char c = (char) (((b[0] & 0xFF) << 8) | (b[1] & 0xFF)); 
            return c; 
        }

    转载于:https://www.cnblogs.com/nimorl/p/9836071.html

    展开全文
  • C# int 转换为byte 的浅析

    万次阅读 2012-08-15 17:39:53
    C#byte类型是无符号8位整数类型,值范围为0~255. 数字在内存中是按补码的形式存放的,-28 的补码为: 11111111 11111111 11111111 11100100 那么将x强制转换为byte类型的时候,就会拿到最低的八位 11100100, ...
  • C# int字节 转换Byte数组 3位

    千次阅读 2015-08-05 15:12:08
    C# int字节 转换Byte数组 3位
  • C#Byte字节的概念     C#中用关键字byte表示字节,用byte[]表示字节数组,例如:byte[] a = new byte[2];,就相当于创建了一个具有2个字节长度的字节数组,用变量a表示。     在C#中使用BitConverter,...
  • C#写二进制文件,只写入byte[]数组的前两个数字,后面的都没写入,为什么?代码如下 举报描述不清违规检举侵权投诉| 分享| 2012-07-19 15:54 Double_L1988 | 浏览 1194 次 FileStream fs; fs = new ...
  • c# string 转byte

    2013-11-14 16:47:40
    string str =“0C”;//十六进制数字 byte b; 怎样把str赋值给b,结果应该是b=0C; 即string不转换就赋值给byte
  • c# byte[]数组各种操作

    2020-08-27 11:48:59
    1、网络字节序转换 float m = 5f;...byte[] data = new byte[10]; byte[] counts =new byte[3]; byte[] ndata = new byte[data.Length + counts.Length]; data.CopyTo(ndata, 0);counts.CopyTo(ndata, data.L
  • C# 数据类型转化为byte数组

    千次阅读 2019-05-13 10:51:55
    C# 数据类型转化为byte数组 项目当中经常遇到将short 、string、int等类型的数据转换成字节数组,以便将数据以数据流的形式经行缓存、传递的情况(例如MemoryStream),现将常见的转换形式总结一下: 1.short数据...
  • C#byte[]写入文件

    千次阅读 2018-07-08 09:36:16
    这里要注意,byte[]数组里面可能有不可见字符,所以程序里不要进行如GetString()之类的转换,这样会出错的,对一些不可见的字符会有乱码。可以用写二进制流的方式进行读写文件即可。 FileStream fs1 = new ...
  • 注:Convert.ToByte()方法能够把许多数值类型、bool、char转成byte,甚至可以把任意进制的合法数字的字符串基于相应的进制转成byte【比如Convert.ToByte("3C",16)可以基于16进制把"3C"转为60】...
  • C# byte转有符号整数

    千次阅读 2019-04-29 15:19:24
    C#开发,收到下位机串口数据(温度信息),可能是正数也可能是负数,如何转换? 第一反应是想起书本上的理论,无符号数表示范围是多少到多少,... //本项目的实际情况,用两个byte表示问题数字 int wd = (int)raw; ...
  • C#中如何从给定的byte数组创建bitmap对象,其中byte[]的内容格式为{B,G,R,B,G,R,...B,G,R}。 《C#数字图像处理算法典型实例》一书上给出三种方法:像素法、内存法、指针法。点击打开链接 像素法: using ...
  • C# byte的循环移位

    2012-04-26 21:12:00
    //要移位的数字byte n = 1;//移位的数量byte typeLength = 8;//类型的长度,1byte=8bitushort b = a;//当做缓存用的更大的类型b += (ushort)(b << typeLength); //循环左移int result = (byte)(b >> ...
  • C#中的Byte类型

    2013-03-06 23:09:00
    1.在保存图像的时候会用到 byte[]数组来保存,图片属于二进制文件,保存...对应的数据库类型是 tinyint,可以用来区别256个数字,取值范围是0-255.3. byte 类型占用空间小,1个字节,int型占用空间大,4个子节。当数据...
  • 现在有多个byte[]需要写入txt中,如果用File.Wrieallbytes,会覆盖掉原来的内容,怎样把所有数组写进去而且不覆盖掉原来的内容 主要是需要文件中的内容为乱码,不能让客户明白其中的含义,如果转为string的话,全部...
  • 本文给大家介绍如何在Byte[]和String之间进行转换? 比特(b):比特只有0 1,1代表有脉冲,0代表无脉冲。它是计算机物理内存保存的最基本单元。 字节(B):8个比特,0—255的整数表示 编码:字符必须编码后才能被...
  • C# int32,byte[] 相互转换 主要使用了C#自带的BitConvert类
  • C#实现数字签名

    千次阅读 2012-09-05 10:13:21
    C#实现数字签名   using System; using System.Collections.Generic; using System.Windows.Forms; using System.Security.Cryptography; namespace DSAExample { public partial class MainForm : Form { byte...
  • 本文是将byte数组转换为int数组和int数组转为byte数组,话不多说,代码如下: 1.将byte数组转换为int数组 /// <summary> /// byte数组转int数组 /// </summary> /// <param name="src"&...
  • Java和C#byte数据类型的转化

    千次阅读 2018-11-26 23:48:29
    项目中需要用Java代码重写一部分使用C#实现的功能,其中一个函数用到byte数组作为参数,最终需要将byte数据转化为字符串类型,C#中的byte和Java中的byte取值范围不一样,Java中的取值范围为-128~127,C#中取值范围为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,152
精华内容 9,260
关键字:

byte数字c#

c# 订阅