首页 > 编程语言 >C# 16进制与2进制互转

C# 16进制与2进制互转

时间:2023-08-01 11:25:46浏览次数:25  
标签:Console 进制 16 C# int 互转 sb data string

代码如下

       /// <summary>
        /// //16转2方法
        /// </summary>
        /// <param name="hexString"></param>
        /// <returns></returns>
        static string HexString2BinString(string hexString)
        {
            try
            {
                string result = string.Empty;
                foreach (char c in hexString)
                {
                    int v = Convert.ToInt32(c.ToString(), 16);
                    int v2 = int.Parse(Convert.ToString(v, 2));
                    // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格,
                    result += string.Format("{0:d4} ", v2);
                }
                return result;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                throw;
            }
 
        }


        /// <summary>
        /// 解码过程接收16进制编码转换成16进制
        /// </summary>
        /// <param name="data"></param>
        public void AddData(byte[] data)
        {
            StringBuilder sb = new StringBuilder();
            if (data.Length > 9)
            {
                for (int i = 0; i < 9; i++)
                {
                    sb.AppendFormat("{0:x2}" + " ", data[i]);
                }
                AddContent(sb.ToString());
            }
            else
            {
                for (int i = 0; i < data.Length; i++)
                {
                    sb.AppendFormat("{0:x2}" + " ", data[i]);
                }
                AddContent(sb.ToString());
            }
        }
 

            //使用示例代码如下
            string bin = "10000111";//二进制值
            string s16 = "00 5a 53 00 01 04 01 00 39";//十六进制值
            Console.WriteLine("二 转 十六进制:" + string.Format("{0:x}", Convert.ToInt32(bin, 2)));//2转16
            string[] strdate = s16.Split();
            string sc = HexString2BinString(strdate[6]);//16转2
            Console.WriteLine(sc);
            string jszt = sc.Replace(" ", "");
            Console.WriteLine(jszt);
            Console.ReadKey();

 

标签:Console,进制,16,C#,int,互转,sb,data,string
From: https://www.cnblogs.com/Kirito-Asuna-Yoyi/p/17595972.html

相关文章

  • 面试再也不怕问ThreadLocal了
    要解决多线程并发问题,常见的手段无非就几种。加锁,如使用synchronized,ReentrantLock,加锁可以限制资源只能被一个线程访问;CAS机制,如AtomicInterger,AtomicBoolean等原子类,通过自旋的方式来尝试修改资源;还有本次我们要介绍的ThreadLocal类,通过为每个线程维护一个变量副本,每个线程都......
  • element-ui中的$comfirm点击取消后空格键和回车键依然执行删除操作
    原因: $comfirm会在上一次执行操作的按钮上自动聚焦选中如果这时点击回车或者空格键相当于又触发了一次删除按钮上的点击事件,而且默认回车和空格键会触发弹层上的确认按钮的点击事件,用户没有将鼠标定在确认按钮,这是组件自己封装的自动聚焦事件以及确认提交事件解决方法:强制取消键......
  • could not import go.etcd.io/etcd/clientv3-go
    问题描述今天在封装etcd的时候导包报错:couldnotimportgo.etcd.io/etcd/clientv3(norequiredmoduleprovidespackage"go.etcd.io/etcd/clientv3")问题解决:get:确保下载了client包gogetgo.etcd.io/etcd/clienttidygomodtidy本文由mdnice多平台发布......
  • asp.net core之日志
    日志记录在应用程序开发中起着至关重要的作用,它可以帮助开发人员诊断和调试问题,同时也是监控和性能优化的重要工具。ASP.NETCore提供了强大且灵活的日志记录功能,本文将详细介绍ASP.NETCore中的日志记录,包括日志配置、日志类别级别、使用场景以及日志记录提供程序。日志配置......
  • SAS 编程技巧 - PROC SQL(二)
    上一节中,我们介绍了如何使用SQL创建和删除数据集、视图和索引。这一节我们介绍如何使用SQL修改数据集的结构和更新数据集中的数据。修改数据集结构使用ALTERTABLE可以修改数据集的结构,包括增加、删除变量、修改变量属性,以及对数据完整性约束(integrityconstraints)的操作......
  • docker 不适合MySQL
    近几年Docker非常的火热,各位开发者恨不得把所有的应用、软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程,这里整理了一些数据库不适合容器化的原因供大家参考,同时也希望大家在使用时能够谨慎一......
  • VS2022 PCL库引用配置
    嫌麻烦的可以直接下载PCL1.13.1安装在D盘然后复制我的配置就行.VC++目录包含目录D:\PCL1.13.1\3rdParty\OpenNI2\Include;D:\PCL1.13.1\3rdParty\VTK\include\vtk-9.2;D:\PCL1.13.1\3rdParty\Qhull\include;D:\PCL1.13.1\3rdParty\FLANN\include;D:\PCL1.13.1\3rdParty\Ei......
  • 微信小程序使用echarts动态设置宽高
    微信小程序中动态设置了echarts的高度,但是canvas变形,并没有重新resize原因chart获取不到父组件的宽高,小程序里获取宽高用的是wx.createSelectorQuery(),echarts里resize的时候,并没有调用这个API,肯定无法重置宽高。解决if(chart){constgetWindowInfo=uni.getWindowInf......
  • 《MFC篇》悬浮button
    要在MFC中设置悬浮按钮,你可以按照以下步骤进行操作:首先,在你的对话框资源中创建一个普通的按钮控件,将其属性中的"Flat"设置为True,这将使按钮显示为一个扁平化的样式。在你的对话框类中添加按钮控件的成员变量。你可以使用类向导或手动添加。在对话框的OnInitDialog函数中,......
  • LeetCode 581. 最短无序连续子数组
    classSolution{public:intfindUnsortedSubarray(vector<int>&nums){intn=nums.size();intl=0,r=n-1;while(l<n-1&&nums[l]<=nums[l+1])l++;while(r>0&&nums[r]>=nums[r-1])r--;......