C# 中2,10,16进制及其ASCII码之间转化
--------//C#中各种字符类型的转化,使用于串口通信------------
//字符长度的理解
string s = "我是一个2兵";
int len = s.Length;//6个字符
byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
len = sarr.Length;//11个字节
//10进制转字符串,也没有意义,要转成对应的ascii码
int t1 = 81;
string s1 = t1.ToString();
//这个10进制转对应ASCII字符才有意义。
s1 = ((char)t1).ToString();
//16进制转字符串:这个没有意义。就是tostring了。
int intAB = 0x16;
s1 = intAB.ToString();
//16进制转对应ASCII字符:
byte babb = 0x45;
string ass = ((char)babb).ToString();
//ASCII字符串转10进制数
string tr = "2Ab刘";
string d ="";
for (int i = 0; i < tr.Length; i++)
{
int ii = (int)Convert.ToChar(tr.Substring(i, 1));
d = d +" "+ ii.ToString();
}
//ASCII字符串转16进制数
string s2 = "2Ab刘";
byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
StringBuilder sb = new StringBuilder();
foreach (byte b in ba)
{
sb.Append(b.ToString("x") + " ");
}
//16进制数转10进制
int intA = 0x16;//定义的时候是必须带0x的
string strA = "16";//字符串可以不带
int intA1 = Convert.ToInt32(intA);
int intA2 = Convert.ToInt32(strA, 16);
//10进制转16进制
strA = Convert.ToString(intA2, 16);
//10进制转2进制,16进制类似
int int10 = 10;
string str2 = Convert.ToString(int10,2);
//2进制转10进制
int10 = Convert.ToInt32(str2,2);
作者:古梅飞动
公司:蜜团科技
出处:http://www.mitsofts.com/index.php
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步