c# 格式转换
多数转换之间离不开字符串的过渡
1.ToString()常用格式
(1) ToString("X") 转换成16进制字符串,
ToString("X2") 转换成16进制字符串,不够两个字符前面补0
(2) ToString("F3") 保留三位小数,不够后面补0
(3) ToString("yyyy/MM/dd HH:mm:ss:ffff") 输出日期
或 ToString("yyyy年MM月dd日 HH:mm:ss:ffff")
2. 16进制字符串转byte/int:
byte_Value = Convert.ToByte(string_Value, 16);
int_Value = Convert.ToInt32(string_Value, 16);
3. int/byte转16进制字符串:
string_Value = Convert.ToString(byte_Value,16);
4. TryParse(string_Value,out int_Value)
5. int转字节数组
byte[] Databytes = BitConverter.GetBytes(Int_Value);
这个方法会将整数根据类型转换为非固定多个字节(1,2,4,8, ...)的Byte数组,低位在前,高位在后
例如:int 类型的 1212 转换以后为 bc 04 00 00
Byte数组 | 整数 |
FF 00 00 00 | 255 |
FF FF 00 00 | 65535 |
FF FF FF 00 | 16777215 |
FF FF FF FF | 4294967295 |
还有个方法

public byte[] intToBytes(int value) { byte[] src = new byte[4]; src[0] = (byte)((value >> 24) & 0xFF); src[1] = (byte)((value >> 16) & 0xFF); src[2] = (byte)((value >> 8) & 0xFF); src[3] = (byte)(value & 0xFF);//低位 return src; }
6. 字符串根据ASCII码表转换成Byte数组

ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding(); byte[] lbTData = new byte[8]; string str1 = "00640BB8"; for (int k = 0; k < str1.Length; k++) { lbTData[k] = asciiEncoding.GetBytes(str1)[k]; }
7.16进制字符串直接转换成Byte数组

string str1 = "00640BB800000258"; for (int i = 0; i < str1.Length; i+=2) { byte temp = Convert.ToByte(str1.Substring(i,2),16); lbTData[i / 2] = temp; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)